关于 d1-04-db-config
用于在 ASP.NET Core API 中通过 Entity Framework Core 配置 PostgreSQL 连接的技能。它区分 EF CLI 使用的主机连接字符串与容器内连接字符串,并说明此步骤无需重新部署。
主要功能
- 01添加 Npgsql EF Core 包
- 02设置开发环境连接字符串
- 03使用 UseNpgsql 注册 AppDbContext
- 04区分主机与容器的连接字符串
适用场景
- 01配置 API 连接 PostgreSQL
- 02为数据库迁移准备 EF Core 项目
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ softinter-chiangrai/ up-ai-skill-training --skill d1-04-db-config安装后在 Claude Code 中输入/d1-04-db-config确认已加载。
详细介绍
第 1 天 · 步骤 4 — 配置数据库连接(无需重新部署)
cd up-api
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
dotnet add package Microsoft.EntityFrameworkCore.Design
appsettings.Development.json:
{
"ConnectionStrings": {
"Default": "Host=localhost;Port=5432;Database=up_db;Username=upadmin;Password=uppass"
}
}
此处使用 localhost,因为 EF CLI 命令(后续步骤)从主机运行。在 up-api
容器内,连接字符串则使用 compose 服务名称 db——该名称已在 docker-deploy 步骤中设置到容器的环境变量中,请勿更改。
Data/AppDbContext.cs:
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
// DbSet<Entity> properties are added in the entity-migration step
}
Program.cs:
builder.Services.AddDbContext<AppDbContext>(opt =>
opt.UseNpgsql(builder.Configuration.GetConnectionString("Default")));
此步骤仅涉及代码和配置——无需重新部署。
评论
支持 Markdown