C# EF Core 2.1-验证数据库是否存在更新后不工作
这段代码在将NPGSQL从2.0更新到2.1之前工作得非常好C# EF Core 2.1-验证数据库是否存在更新后不工作,c#,entity-framework-core,npgsql,C#,Entity Framework Core,Npgsql,这段代码在将NPGSQL从2.0更新到2.1之前工作得非常好 public static void EnsurePopulated(IApplicationBuilder app) { CoreDatabaseContext context = app.ApplicationServices.GetRequiredService<CoreDatabaseContext>(); bool databaseExists = (context.Database.GetSe
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();
}
重新填充公共静态空间(IApplicationBuilder应用程序)
{
CoreDatabaseContext上下文=app.ApplicationServices.GetRequiredService();
bool databaseExists=(context.Database.GetService()作为RelationalDatabaseCreator.Exists();
//不要工作太多
//bool databaseExists=context.Database.resured();
}
更新后,我得到了错误:
System.MissingMethodException:'未找到方法:
'Microsoft.EntityFrameworkCore.DBContextOptions Builder
Microsoft.EntityFrameworkCore.NpgsqlDbContextOptionsExtensions.UseNpgsql(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder,
系统字符串,
系统。行动“1)”
VS2017 15.7.0
.NET 4.7.2
Npgsql.EntityFrameworkCore.PostgreSQL 2.1
.NET Core 2.1.300是否安装了最新的2.1 SDK?你如何运行你的应用程序?运行
dotnet--version
时,是否显示2.1.300
?您是否安装了最新版本的VS 2017
这些异常通常发生在dll版本不匹配/不兼容时。如果您更新了所有内容,请清除bin/obj文件夹,它应该可以工作。VS2017 15.7.0.NET 4.7.2 Npgsql.EntityFrameworkCore.PostgreSQL 2.1.NET Core 2.1.300I删除了文件夹并重新编译,错误仍然存在您安装了旧版本的VS。你需要更新它。