経緯
Maui Blazor hybrid限定なのかわからないがEntityFramework を使ったマイグレーションがうまくいかなかったため
作成日2024年3月25日
対象
超初心者向け
VisualStudio2022 + .net8 +Mysql
Maui Blazor hybridでEntityFramework でマイグレーションしたい人
内容
EntityFrameworkでマイグレーションするなんて特に難しい内容ではないはずなのだが、なぜかエラーになる。
エラー1 Add-Migrationができない
Add-MigrationするとMacCatalystはダメといわれる。(正確なエラーメッセージは忘れた)
プロジェクトの設定でiOSを外しても消えないためcsprjファイルを編集してmaccatalystのところをコメントアウト
<!--<TargetFrameworks>net8.0-maccatalyst</TargetFrameworks> -->
とする。
エラー2 Add-Migrationができない
次はUnable to create a 'DbContext' of type '' ・・・・
というエラーが出る。なんとなくDBContextが悪いのかと思うが、全く同じファイルを.net7だとマイグレーションできる。
これもcsprjファイルの <PropertyGroup>
内に下記を追加するとエラーが出なくなる。
<WindowsAppSdkDeploymentManagerInitialize>false</WindowsAppSdkDeploymentManagerInitialize>
感想
本当にMaui Blazor hybridを使って大丈夫かと思うようなエラーばかりでした。
まあ、マルチプラットフォームにするつもりがないのにMauiを使っている自分も良くないが、Macを手動でコメントアウトしないとEntityFrameworkが使えないというのもおかしくないか?