コンソール プロジェクトを作成し、コード ファーストを使用してモデルをデータベースにマップしました。 コマンドを実行するとAdd-Migration InitialMigration
、エラーが発生します。
アセンブリ 'Microsoft.EntityFrameworkCore.SqlServer、バージョン = 3.1.5.0、カルチャ = ニュートラル、PublicKeyToken = adb9793829ddae60' からの型 'Microsoft.EntityFrameworkCore.SqlServer.Query.Internal.SqlServerSqlTranslatingExpressionVisitorFactory' のメソッド 'Create' には実装がありません。
それDbContext
は:
class ActorDbContext : DbContext
{
public DbSet<Actor> Actors { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
@"Server=(localdb)\mssqllocaldb;Database=ActorDb;"
+ "Trusted_Connection=True;");
}
}
エンティティは次のとおりです。
public class Actor
{
public int Id { get; set; }
public String Name { get; set; }
public int Age { get; set; }
public bool AcademyWinner { get; set; }
}
ベストアンサー1
を使用したところ、同じ問題が発生しましたVS for Mac
。問題は、次のバージョンのパッケージがインストールされていたことです。
- Microsoft.EntityFrameworkCore.ツール
5.0.0-preview.8.20407.4
- Microsoft.EntityFrameworkCore.デザイン
5.0.0-preview.8.20407.4
- Microsoft.EntityFrameworkCore.SqlServer
3.1.8
使用されているさまざまなバージョンに注意してください。問題を修正するために、preview
パッケージのバージョンをアンインストールし、最新の安定バージョンをインストールしました。
- Microsoft.EntityFrameworkCore.ツール
3.1.8
- Microsoft.EntityFrameworkCore.デザイン
3.1.8
- Microsoft.EntityFrameworkCore.SqlServer
3.1.8
もう一度、3 つのパッケージすべてのバージョンをメモしてください。各パッケージの正しいバージョンをインストールすると、問題は解決し、私のAdd-Migration
作業はうまくいきました。