C# 使用实体框架核心的postgresql时不支持关键字

C# 使用实体框架核心的postgresql时不支持关键字,c#,postgresql,.net-core,entity-framework-core,npgsql,C#,Postgresql,.net Core,Entity Framework Core,Npgsql,我的数据库更新遇到问题。我把一切都设置得很好,我正在创建我的迁移,它正在工作,但是当我想更新我的数据库,甚至删除迁移以编辑某些内容时,我遇到了这个错误 ➜ ProjectDotNET$dotnet ef数据库更新 构建已开始。。。 构建成功。 System.ArgumentException:不支持关键字:主机:127.0.0.1;端口(参数“关键字”) 位于Npgsql.NpgsqlConnectionStringBuilder.GetProperty(字符串关键字) 在Npgsql.Npg

我的数据库更新遇到问题。我把一切都设置得很好,我正在创建我的迁移,它正在工作,但是当我想更新我的数据库,甚至删除迁移以编辑某些内容时,我遇到了这个错误

➜  ProjectDotNET$dotnet ef数据库更新
构建已开始。。。
构建成功。
System.ArgumentException:不支持关键字:主机:127.0.0.1;端口(参数“关键字”)
位于Npgsql.NpgsqlConnectionStringBuilder.GetProperty(字符串关键字)
在Npgsql.NpgsqlConnectionStringBuilder.set_项(字符串关键字,对象值)
位于System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(字符串值)
在Npgsql.NpgsqlConnectionStringBuilder..ctor(字符串连接字符串)
位于Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists(布尔异步,CancellationToken CancellationToken)
位于Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists()处
在Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()中
位于Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(字符串targetMigration)
位于Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(字符串targetMigration、字符串connectionString、字符串contextType)
位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(字符串targetMigration、字符串connectionString、字符串contextType)
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_0.b_0()中
位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作)
不支持关键字:主机:127.0.0.1;端口(参数“关键字”)
我到处寻找,我做了一个简单的连接字符串,因为我可以找到它,但没有改变

这是我的
csproj
文件


netcoreapp3.1
运行时间;建设;本地人;内容文件;分析仪;可传递的
全部的
My
appsettings.json中的我的连接字符串

{
“日志记录”:{
“日志级别”:{
“默认值”:“信息”,
“Microsoft”:“警告”,
“Microsoft.Hosting.Lifetime”:“信息”
}
},
“AllowedHosts”:“*”,
“连接字符串”:{
“默认值”:“主机=127.0.0.1;端口=5432;数据库=dotnetDB;用户Id=rootapp;密码=[a密码];池=true;”
}
}
我还尝试了
Server
而不是字符串中的
Host
,没有任何更改

然后我打开了我的
StartUp.cs
文件

/。。。
services.AddDbContext(options=>options.UseNpgsql(Configuration.GetConnectionString(“默认”));
// ...
关于错误消息,我假设它可能不是我的代码,我的nuget包似乎是兼容的


感谢您对
Server
关键字的帮助

您也遇到了同样的异常情况吗?尝试不使用
?尝试删除对“Npgsql.EntityFrameworkCore.PostgreSQL.Design”的包引用。如果遗漏了任何内容,请检查此处:Npgsql正在抱怨的连接字符串(
主机:127.0.0.1;端口
)与appsetings.json中的内容不一致-请确保应用程序正确加载了连接字符串。感谢您的评论。我首先尝试了不使用池,也尝试了使用服务器,结果相同。我认为根本原因是因为我从未接触过appsettings的开发版本。。。所以即使我做了修改,它也不能接受。虽然,
Server
是正确的关键字。谢谢大家和@dinindu的链接!