EF Core如何连接PostgreSQL EF Core连接PostgreSQL教程

EF Core 连接 PostgreSQL 需三步:安装 Npgsql.EntityFrameworkCore.PostgreSQL、Microsoft.EntityFrameworkCore.Tools 和 Microsoft.EntityFrameworkCore.Design 三个 NuGet 包;在 appsettings.json 中配置 PostgreSQL 连接字符串;定义继承 DbContext 的类并在 Program.cs 中通过 AddDbContext 注册,最后执行迁移命令生成数据库。

ef core如何连接postgresql ef core连接postgresql教程

EF Core 连接 PostgreSQL 不难,关键是三步到位:装对包、写对连接字符串、配好 DbContext。下面直接说清楚怎么做,不绕弯。

安装必需的 NuGet 包

缺一不可,建议用 dotnet CLI 命令安装(兼容性更好):

Npgsql.EntityFrameworkCore.PostgreSQL:核心驱动,让 EF Core 能跟 PostgreSQL 对话 Microsoft.EntityFrameworkCore.Tools:支持迁移命令(dotnet ef migrations add 等) Microsoft.EntityFrameworkCore.Design:设计时支持,生成上下文和实体时需要

执行命令:

dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet add package Microsoft.EntityFrameworkCore.Design

配置连接字符串

推荐放在 appsettings.json 里,结构清晰又方便换环境:

"ConnectionStrings": {
"PgConnection": "Host=localhost;Port=5432;Database=myappdb;Username=postgres;Password=your_password"
}

注意点:

默认端口5432,如果改过要同步更新 密码敏感?可用 dotnet user-secrets 替代明文(开发阶段) Docker 或远程库?把 Host 改成服务名或 IP,确保网络通(常见超时错误多因连不上)

定义 DbContext 并注册依赖注入

先写一个继承 DbContext 的类:

public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions options) : base(options) { }
public DbSet Products { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity().ToTable("products"); // 映射到小写表名
}
}

然后在 Program.cs(.NET 6+)中注册:

builder.Services.AddDbContext(options =>
options.UseNpgsql(builder.Configuration.GetConnectionString("PgConnection")));

这样后续控制器或服务里直接注入 AppDbContext 就能用了。

跑一次迁移,生成数据库

确保项目是启动项目,再执行:

dotnet ef migrations add InitialCreate
dotnet ef database update

成功后,PostgreSQL 里就会自动建好 products 表(含主键、时间戳等 EF 默认字段)。

基本上就这些。不复杂但容易忽略细节,比如包漏装、连接串端口写错、Docker 网络没打通——遇到连不上,优先查这三项。

以上就是EF Core如何连接PostgreSQL EF Core连接PostgreSQL教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1443154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 19:48:22
下一篇 2025年12月9日 14:10:04

相关推荐

发表回复

登录后才能评论
关注微信