迁移到postgres不能正常工作

时间:2019-12-27 03:53:09

标签: c# asp.net asp.net-mvc postgresql asp.net-core

因此,我建立了一个非常好的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.

1 个答案:

答案 0 :(得分:1)

您需要使用Update-database来应用迁移并刷新PostgreSQL数据库