在我的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 的空白数据库。
这里出了什么问题?
答案 0 :(得分:0)
问题似乎在连接字符串中有一些缺少的属性,例如User ID
和Server
。尝试以下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核心应用程序的工作示例。