我有一个新的本地ASP.NET Core 6应用程序,它使用Docker并连接到本地Docker postgres容器(单独运行容器,而不是使用Docker Compose)。我添加了Npgsql包,并成功连接到它并创建表(使用PgAdmin检查)。问题是每当我尝试从包管理器控制台运行“Drop-Database”时,我得到以下错误:
Performing the operation "Drop-Database" on target "database 'Failed creating connection: Couldn't set trusted_connection (Parameter 'trusted_connection')' on server 'Failed creating connection: Couldn't set trusted_connection (Parameter 'trusted_connection')'".
对我来说,这没有意义,因为我没有在连接字符串中使用任何可信连接参数:
"ConnectionStrings": {
"DefaultConnection": "Host=host.docker.internal;Database=local;Username=postgres;Password=password;Include Error Detail=true"
}
我有另外两个解决方案,使用Docker并成功地运行PMC命令到本地Docker postgres容器,所以我不确定这次有什么不同。我没有找到任何类似的资源来解决这个问题,指定'Trusted_Connection=true' or 'Integrated Security=True'不起作用。
我的Program.cs
文件与初学者项目相比没有变化,除了下面的Npgsql文件:
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
builder.Services.AddDbContext<ApplicationDbContext>(options => options
.UseNpgsql(connectionString)
.EnableDetailedErrors());
请让我知道是否有任何可能导致此问题。
1条答案
按热度按时间kgsdhlau1#
所以这个问题以前是在另一个项目上出现的,我在Package Manager Console中使用以下命令手动设置环境:
因此,当尝试删除数据库时,它正在搜索一个在我的新项目中不存在的本地appsettings连接字符串。将环境设置回Development为我解决了这个问题。