EF Core 2.1 - 更新后验证数据库是否存在不工作

EF Core 2.1 - Verify if database exists dont work after update

在将 NPGSQL 从 2.0 更新到 2.1 之前,此代码运行良好

public static void EnsurePopulated(IApplicationBuilder app)
{
    CoreDatabaseContext context = app.ApplicationServices.GetRequiredService<CoreDatabaseContext>();
    bool databaseExists  = (context.Database.GetService<IDatabaseCreator>() as RelationalDatabaseCreator).Exists();

    //Don't work too
    //bool databaseExists  = context.Database.EnsureCreated(); 
}

更新后出现错误:

System.MissingMethodException: 'Method not found: 'Microsoft.EntityFrameworkCore.DbContextOptionsBuilder Microsoft.EntityFrameworkCore.NpgsqlDbContextOptionsExtensions.UseNpgsql(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder, System.String, System.Action`1)'.'

VS2017 15.7.0 .NET 4.7.2 Npgsql.EntityFrameworkCore.PostgreSQL 2.1 .NET 核心 2.1.300

你安装了最新的2.1 SDK吗?您 运行 如何使用您的应用程序?当你 运行 dotnet --version 时,它显示 2.1.300 吗?是否安装了最新版本的 VS 2017?

这些异常通常发生在您有 mismatch/incompatible dll 版本时。如果您更新了所有内容,请清除您的 bin/obj 文件夹,它应该可以工作。