EF-核心与PostgreSQL的迁移错误
问题描述:
在我appsettings.json:EF-核心与PostgreSQL的迁移错误
{
"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的空白数据库。
这里怎么回事?
答
该问题似乎在连接字符串中有一些缺失的属性,如User ID
和Server
。请尝试以下CS
"ConnectionStrings": {
"DefaultConnection": "User ID=postgres;Password={{pass}};Server=localhost;Port=1234;Database={{database}};Integrated Security=true;Pooling=true;"
},
我有一个GitHub Repo与一个Postgres数据库的ASP.NET核心应用的工作示例。
这看起来很有前途,但它给了我'没有连接可以做,因为目标机器主动拒绝它错误。可能的原因?我删除了数据库asp_trial_api并创建了一个新的api_trial并刷新了所有内容。 – Nitish
服务器端口和用户名是否在连接字符串中正确配置?我也有同样的问题,但知道'用户名'是正确的(在我的情况)。你可以仔细检查一下吗? –
还替换我刚刚提供的连接字符串,修改值并查看它是否有效! –