私はASP.NETを初めて使用し、エンティティフレームワークを使用してwebAPI c#アプリケーションを設定しようとしています。しかし、nuget-package-managerコンソールでEnable-Migrationsコマンドを実行しようとすると、次のエラーが発生します。
「引数がnullであるため、引数をパスにバインドできません」
enable-migrations : Cannot bind argument to parameter 'Path' because it is
null.
At line:1 char:1
+ enable-migrations -ContextTypeName SchoolDBContext
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Enable-Migrations],
ParameterBindingValidationException
+ FullyQualifiedErrorId :
ParameterArgumentValidationErrorNullNotAllowed,Enable-Migrations
エンティティフレームワークをアンインストールして再インストールしようとしましたが、それでも同じエラーが発生します。
どうすれば修正できますか?
構成ファイルの接続文字列と一致する適切な名前のデータベースを手動で追加してみましたか?
今日の午後も同じエラーが発生しました。データベースを追加すると手動で問題が修正され、その後、テーブルを追加する移行を追加することに成功しました。
これに続いて、構成ファイルとマイグレーション(プロジェクトの「マイグレーション」フォルダーから)を削除し、データベースを削除しました。その後update-databaseを実行すると、より一般的な応答が得られました。
コンテキストが既存のデータベースをターゲットとしているかどうかを確認しています...
MyProject.Domainプロジェクトで有効化されたコードの最初の移行
次に、「add-migration Initial」と「update-database」を実行しました。これにより、新しいデータベースが生まれました。すべて良い。根底にあるストーリーに関する他の人からの更新はありがたいです。
問題は、コマンドを実行するための十分な権限がないためです。管理者モード(管理者として実行)でVisual Studioを開き、コマンドを実行します。
別のクラスライブラリにデータベースコードがある場合、これが発生します。コマンドを機能させるには、起動プロジェクトとしてクラスライブラリを選択する必要がありました。
だから私は次のことをしました...
データベースコンテキストが存在するプロジェクトを選択して右クリックし、[スタートアッププロジェクトとして設定]を選択します。
デフォルトのプロジェクトを正しいプロジェクトとして選択します。
ファイルシステムのプロジェクトディレクトリにいることを確認します。
コマンドを実行します。