ASP.NET Core Web API 快速集成 Entity Framework Core:从安装到数据预热全流程
作者:xiaoxin.gao · 2025-06-27 · 阅读时间:5分钟
.NET Core Web API 数据库集成
ASP.NET Core Entity Framework Core 安装
DataContext DbSet 属性 配置
EF Core 获取连接字符串技巧
EF Core 项目配置
OnModelCreating 多对多关系 示例
引言:为何选择 EF Core? Entity Framework Core(EF Core)是 .NET 平 […]
文章目录
引言:为何选择 EF Core?
Entity Framework Core(EF Core)是 .NET 平台上最流行的 ORM 框架,省去绝大多数手写 SQL 的烦恼。只需少量配置,即可实现模型与数据库的双向映射与 CRUD 操作。
一、安装 SQL Server Express 与 SSMS 并创建数据库
- 下载并安装 SQL Server Express,勾选“Basic”一键模式,无需复杂配置。
- 同步安装 SQL Server Management Studio (SSMS),启动后右键 Databases → New Database,命名为
PokemonReview并确认,即完成数据库创建。
二、获取连接字符串小技巧【截图时间节点:1:56】
- 在 Visual Studio 中打开 SQL Server Object Explorer,点击 Add SQL Server,输入 SSMS 中 Server Name 登陆。
- 展开 Databases → PokemonReview,右击查看 Connection String。

-
将此字符串粘入
appsettings.json中:{ "ConnectionStrings": { "DefaultConnection": " < Your_Connection_String_Here > " } }
此法避免繁琐手动拼接,几秒即可拿到正确格式。
三、安装 EF Core 及相关 NuGet 包

在 VS Code 的 NuGet Package Manager 中,搜索并安装:
Microsoft.EntityFrameworkCore.SqlServer(核心数据库提供者)Microsoft.EntityFrameworkCore.Design(设计时支持)
确保选用 Latest Stable 版本,并在 .csproj 中见到对应 < PackageReference > 条目。
四、创建 DataContext 并注册实体集合

-
新建
Data/DataContext.cs,继承自DbContext:public class DataContext : DbContext { public DataContext(DbContextOptions < DataContext > options) : base(options) { } public DbSet < Pokemon > Pokemons { get; set; } public DbSet < Owner > Owners { get; set; } public DbSet < PokemonOwner > PokemonOwners { get; set; } /* … 其他 DbSet … */ } - 注意
DbSet < T >属性名称应 “复数” 以符合 EF 约定。
五、在 OnModelCreating 配置多对多关系
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Pokemon ←→ Category 多对多
modelBuilder.Entity < PokemonCategory > ()
.HasKey(pc = > new { pc.PokemonId, pc.CategoryId });
modelBuilder.Entity < PokemonCategory > ()
.HasOne(pc = > pc.Pokemon)
.WithMany(p = > p.PokemonCategories)
.HasForeignKey(pc = > pc.PokemonId);
modelBuilder.Entity < PokemonCategory > ()
.HasOne(pc = > pc.Category)
.WithMany(c = > c.PokemonCategories)
.HasForeignKey(pc = > pc.CategoryId);
// 同理配置 PokemonOwner 多对多...
}
通过 Fluent API 明确声明联合主键与双向导航,使 EF Core 正确生成中间表。
六、在 Program.cs 注册 DbContext

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext < DataContext > (options = >
options.UseSqlServer(
builder.Configuration.GetConnectionString("DefaultConnection")));
将 DataContext 注入 DI 容器,即可在控制器、仓储中通过构造注入使用。
七、执行 Migrations 并更新数据库

在 Package Manager Console 或 CLI 中运行:
dotnet ef migrations add InitialCreate
dotnet ef database update
add生成迁移代码;update将表结构同步到 SQL Server。
八、数据 Seed:预填充测试数据

- 在项目根目录新建
SeedService.cs,编写SeedDataAsync(DataContext ctx),往DbContext中添加初始实体并调用SaveChangesAsync()。 -
在
Program.cs注入并调用:builder.Services.AddTransient < SeedService > (); var app = builder.Build(); await app.Services.GetRequiredService < SeedService > ().SeedDataAsync(); - 在终端进入 API 文件夹,执行
dotnet run,检查数据库中是否已有示例数据。
小结
- 本文涵盖 从环境安装到数据库初始化与数据预热 的 EF Core 全流程。
- 关键步骤:获取连接字符串 → 安装 NuGet 包 → 创建
DbContext→ 配置关系 → 注册 DI → 执行 Migrations → Seed。 - 下一篇,我们将基于此完成首个实体 CRUD 接口的编写及测试。
原文引自YouTube视频:https://www.youtube.com/watch?v=EmV_IBYIlyo
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
最新文章
- 2025年Prompt Chaining:您需要了解的一切 – YourGPT
- api 认证与授权的最佳实践
- 什么是GraphRAG
- 如何获取 Notion 开放平台 API Key 密钥(分步指南)
- DeepSeek-R1 调用 MCP 天气API服务教程:MCP 客户端与服务端入门
- 旅游供应商的Travel Booking APIs [Onix概览]
- 使用 Web Share API 实现图片分享
- 学习与设计rest api的顶级资源
- 十大企业级 API 管理工具全景指南
- Meta×Google 云计算协议:2025 多云/混合云 API 极速落地 AI 出海成本降 40%
- Kimi Chat API入门指南:从注册到实现智能对话
- 5种最佳API认证方法,显著提升…