Entity Frameworkのコアの問題に遭遇概要

1.add移行:あなたは、「アドオンの移行」の項目を識別、コマンドレット、関数、スクリプトファイルの名前は、プログラムを実行することはできません。あなたがパスを含める場合は、パスが正しいことを確認し、再度試してください、名前のスペルを確認してください。

使用Entity Frameworkのコアコマンドアドインの移行次のエラーが発生する管理します

PM>追加- 移行が管理
追加 -migrationを:することはできません「追加- コマンドレット、関数、スクリプトファイルや実行可能ファイル名などの移行」を特定のアイテム。あなたがパスを含める場合は、パスが正しいことを確認し、再度試してください、名前のスペルを確認してください。
場所によって:文字:1 
+アドイン移行管理
 + ~~~~~~~~~~~~~ 
    ObjectNotFound:(アドイン+ CategoryInfo 移行:String)を[]、CommandNotFoundException
     + FullyQualifiedErrorId:CommandNotFoundExceptionを
 

 

使用するライブラリをインストールするために使用EFコアMicrosoft.EntityFrameworkCore.Toolsの移行コマンド、Microsoft.EntityFrameworkCore.Toolsがnuget入力をパッケージ化またはインストール・パッケージMicrosoft.EntityFrameworkCore.Toolsを追加します

 

2.System.NullReferenceException:オブジェクト参照オブジェクトのインスタンスに設定されていません。

プロパティモデルを削除し、アドインの移行を提出し、次のエラーが返されます。

PM>追加- 移行ModifyCitysの
ビルドが開始... 
ビルドに成功しました。
System.NullReferenceException:オブジェクト参照しない設定のインスタンスにオブジェクト
   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.Initializeで(ColumnOperation columnOperation、IProperty性、CoreTypeMapping typeMapping、ブールISNULLABLE、IEnumerable` 1 migrationsAnnotations、ブールインライン)
   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.Add(IPropertyターゲット、DiffContextでdiffContext、ブールインライン) +  MoveNextメソッド()
   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.DiffCollectionで[T](IEnumerable` 1ソース、IEnumerable` 1つのターゲット、DiffContext diffContext、Func` 4差分、Func` 3 ADD、Func` 3、削除、Func` 4 []述語)+ のMoveNext()
   System.Linq.Enumerable.ConcatIterator`で1 .MoveNext()
   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.Diff(のITableソース、ターゲットのITable、diffContext diffContext)で + のMoveNext()
   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.DiffCollection [T]における(IEnumerable`の 1ソース、IEnumerable` 1つのターゲット、DiffContext diffContext、Func` 4差分、Func` 3 ADD、Func` 3、削除、Func` 4 []述語)+ のMoveNext()
   System.Linq.Enumerable.ConcatIterator`で1 .MoveNext()
   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.Sort(IEnumerable`で1つの操作、diffContext diffContext)
   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.GetDifferencesで(IModelをソース、IModelをターゲット) 
   マイクロソフトの.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.ScaffoldMigration(文字列migrationName、文字rootNamespace、文字列のサブ名前空間、文字列の言語)
   Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigrationで(文字列名、文字列outputDirの、文字列contextType)
   Microsoft.EntityFrameworkCoreで。 Design.OperationExecutor.AddMigrationImpl(文字列名、文字列outputDirの、文字列contextType) 
   Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationで。<> c__DisplayClass0_0。<。CTOR> b__0()
   Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBaseました。<> c__DisplayClass3_0` 1。<実行> b__0() 
   Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Executeで(アクションアクション)
オブジェクト参照しない設定のインスタンスにオブジェクト

 

EFとバージョン

EF Coreバージョン:5.0.0-preview.2.20120.8の
データベースプロバイダ:Microsoft.EntityFrameworkCore.SqlServer 5.0.0-preview.2.20120.8

3.1.2バージョンは問題ありません、問題が提出されました

https://github.com/dotnet/efcore/issues/20348

 

1 DbContextより3.Moreが見つかりました。使用するかを指定します。DOTNETのコマンドのPowerShellのコマンドのための「-context」パラメータと「--context」パラメータを使用してください。

複数のDbContextの使用に起因して、DbContextコマンドを使用してデータベース・ファイルを生成する指定されていません

元のコマンドに加えてDbContext -cクラス名のアドオン移行後

 

型「MyDBContext」のオブジェクトを作成する4.Unable。設計時にサポートされているさまざまなパターンの場合は、https://go.microsoft.com/fwlink/?linkid=851728を参照してください

 

PM>追加- 移行初期
ビルドが開始... 
ビルドに成功しました。
作成することができませんでしたオブジェクトタイプのMyDBContextを設計時にサポートされているさまざまなパターンは、以下を参照してくださいます。https:// go.microsoft.com/fwlink/?linkid=851728

 

 

 

 

 

 

 

参考:

https://www.cnblogs.com/wyy1234/archive/2018/09/18/9670529.html

https://www.cnblogs.com/wyy1234/p/9647730.html

おすすめ

転載: www.cnblogs.com/Zev_Fung/p/12517943.html