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 文件夹,它应该可以工作。
在将 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 文件夹,它应该可以工作。