将Web API连接至PostgreSQL时遇到错误,寻求解决方案
将Web API连接至PostgreSQL时遇到错误,寻求解决方案
嘿各位,我现在正把我的Web API从SQL Server转到PostgreSQL,已经改了一部分配置,但连接数据库的时候出问题了,想请大伙帮我瞅瞅咋回事儿。
先说说我目前改的内容:
已完成的配置
appsettings.json 里的连接字符串
我在配置文件里整了两个PostgreSQL的连接字符串,试了两种不同的写法,怕其中一种有坑:
{ "ConnectionStrings": { "MPmain": "Data Source=DESKTOP-FCT8VC2;Initial Catalog=mpau;Integrated Security=True;TrustServerCertificate=true", "MPpostgres1": "User ID=postgres;Password=xxxxxxxx;Server=localhost;Port=5432;Database=mpau;", "MPpostgres": "host=localhost port=5432 dbname=mpau user=postgres password=xxxxxxxx connect_timeout=10 sslmode=prefer" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*" }
Program.cs 里的代码
我已经引用了Npgsql和EF Core的包,Program.cs目前写到这儿:
using Microsoft.EntityFrameworkCore; using Npgsql; var builder = WebApplication.CreateBuilder(args); // Add services to the container. // 后面的代码还在写,但现在启动的时候就已经报数据库连接相关的错误了
我的疑问
目前我不太确定问题出在哪儿,想请教下:
- 这两个连接字符串的格式有没有问题?有没有哪种是PostgreSQL官方更推荐的?
- Program.cs里还必须要加哪些配置才能让EF Core正确连到PostgreSQL?是不是得在AddDbContext里指定用Npgsql的提供器?
- 有没有什么简单的排查方法,比如先测试连接字符串是否有效,或者看日志找具体错误信息?
备注:内容来源于stack exchange,提问作者Ehsan
相关产品推荐
相关产品推荐

