EF-core与PostgreSQL迁移错误

时间:2017-02-25 09:01:13

标签: asp.net-core asp.net-core-mvc entity-framework-core

在我的appsettings.json中:

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Host=localhost;Username={{postgres}};Password={{postgres}};Database={{asp_trial_api}};Port=5432;Pooling=true;"
    }
},
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
}

在我的startup.cs中:

 public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddApplicationInsightsTelemetry(Configuration);

            services.AddDbContext<WebAPIDataContext>(options => {
                options.UseNpgsql(Configuration["Data:DefaultConnection:ConnectionString"]);
            });

            services.AddMvc();
            services.AddSwaggerGen();
        }

我的dotnet ef migrations add initial成功,但dotnet ef database update给了我以下错误:

28P01: password authentication failed for user "{{postgres}}"

我在连接字符串中提供的用户名和密码是正确的。我已经在PostgresSQL中创建了一个名为 asp_trial_api 的空白数据库。

这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

问题似乎在连接字符串中有一些缺少的属性,例如User IDServer。尝试以下CS

"ConnectionStrings": {
    "DefaultConnection": "User ID=postgres;Password={{pass}};Server=localhost;Port=1234;Database={{database}};Integrated Security=true;Pooling=true;"
},

我有一个https://jsfiddle.net/8hne5ckd/7/用于带有Postgres数据库的ASP.NET核心应用程序的工作示例。