####状況:####
・Model作成し、スキャフォールディングも実行済み。
・startup.csにもsqlite、SQLサーバーの設定を追記。
・dotnet ef もインストール済み
####作業内容:####
EF(Entity Framework Core)の移行機能を使って、データベースを構築する
dotnet ef migrations add InitialCreate
上記コマンド実行するといくつかエラーが発生
####エラー① Your startup project プロジェクト名 doesn't〜〜〜
####
Your startup project 'myWebApp' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.
パッケージMicrosoft.EntityFrameworkCore.Design
がないとのこと。
visual studioの「Manage NuGet Packages」から
Microsoft.EntityFrameworkCore.Tools
をインストール
※Microsoft.EntityFrameworkCore.Design
も含まれている
加えて、ディレクトリが間違っていたためプロジェクトである「RazorPagesMovie」へ移動。
####エラー② No project was found. Change 〜〜〜〜
####
No project was found. Change the current working directory or use the --project option.
プロジェクトが見当たらないよ、とのこと。
ただ、現在のディレクトリはプロジェクトになっている
hoge@hogenoMacBook-Air RazorPagesMovie %
もしかしてと思い、lsコマンド
RazorPagesMovie RazorPagesMovie.sln
やっぱり、現在のディレクトリがプロジェクトではなくソリューションになっていた。
※ASP.NET coreのフォルダ構成は
ソリューション>プロジェクト>関連フォルダ・ファイル
となっている。
####エラー③ Build failed. Use dotnet 〜〜〜
####
Build failed. Use dotnet build to see the errors.
色々調べた所、リビルドすると解決できるらしいとの記事があり、試してみる。
Build started...
Build succeeded.
Done. To undo this action, use 'ef migrations remove'
おおー!ビルド成功!
ここで勘違いが一つありました、
ビルドとプロジェクト起動を同じことだと思っておりました。。
恥ずかしい。