因此,我建立了一个非常好的Asp.Net Core 3.0 MVC应用程序,其中包含一些模型,并且当我运行add-migration initial
时,它运行时没有错误,并且显示在解决方案资源管理器中,但是未发生任何更改在实际的PostgreSQL数据库中。
我注意到当我弄乱了连接字符串,并在其中放置了错误的东西时,这仅在我要删除迁移的情况下才重要,而在我要添加迁移的情况下则不会出错。
我正在使用.net core 3.0,PostgreSQL 12.1。
ConfigureServices
in Startup.cs
:
services.AddEntityFrameworkNpgsql().AddDbContext<MyDbContext>(opt => opt.UseNpgsql(Configuration.GetConnectionString("DbConnection")));
appsettings.json
中的连接字符串:
{
"ConnectionStrings": {
"DbConnection" : "User ID =postgres;Password=pass;Server=localhost;Port=5432;Database=MyDb;Integrated Security = True; Pooling=true"
},
DbContext:
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { }
public DbSet<PirkVald> PirkValds { get; set; }
}
运行add-migration initial
时的控制台输出
Build started...
Build succeeded.
Microsoft.EntityFrameworkCore.Infrastructure[10403]
Entity Framework Core 3.1.0 initialized 'MyDbContext' using provider 'Npgsql.EntityFrameworkCore.PostgreSQL' with options: None
To undo this action, use Remove-Migration.
答案 0 :(得分:1)
您需要使用Update-database
来应用迁移并刷新PostgreSQL数据库