0

0

C# Entity Framework Core怎么用 C# EF Core Code First入门教程

星降

星降

发布时间:2025-11-09 15:30:02

|

1007人浏览过

|

来源于php中文网

原创

答案:EF Core Code First 入门需创建项目并安装 EF Core 包,定义实体类如 Product,创建继承 DbContext 的上下文类配置数据库连接,通过 Add-Migration 和 Update-Database 命令生成数据库,再进行增删改查操作,建议使用配置文件管理连接字符串并定期迁移模型变更。

c# entity framework core怎么用 c# ef core code first入门教程

Entity Framework Core(简称 EF Core)是微软推出的轻量级、跨平台版 ORM 框架,支持 Code First 开发模式。使用 Code First,你可以先定义 C# 类,然后由 EF Core 自动创建数据库结构。下面是一个简单明了的入门教程,带你快速上手 EF Core Code First。

1. 创建项目并安装 EF Core 包

打开 Visual Studio 或 .NET CLI,创建一个 .NET 6 或更高版本的控制台应用或 ASP.NET Core 项目。

通过 NuGet 安装 EF Core 的核心包和数据库提供程序,比如 SQL Server:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer dotnet add package Microsoft.EntityFrameworkCore.Tools

如果你用的是其他数据库(如 SQLite、MySQL),替换为对应包即可。

2. 定义实体类(Model)

创建一个简单的类来表示数据库中的表。例如,我们创建一个 Product 类:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

EF Core 会根据命名约定将这个类映射到名为 Products 的表,并把 Id 当作主键。

3. 创建 DbContext 类

DbContext 是 EF Core 的核心类,用于管理数据库连接和数据操作。

新建一个类继承 DbContext

using Microsoft.EntityFrameworkCore;
<p>public class AppDbContext : DbContext
{
public DbSet<Product> Products { get; set; }</p><pre class="brush:php;toolbar:false;">protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer("Server=(localdb)\mssqllocaldb;Database=ShopDb;Trusted_Connection=true;");
}

}

上面代码中:

人民网AIGC-X
人民网AIGC-X

国内科研机构联合推出的AI生成内容检测工具

下载
  • DbSet 表示要操作的实体集合。
  • OnConfiguring 设置数据库连接字符串,这里使用 LocalDB 创建本地数据库。

4. 使用迁移(Migration)创建数据库

EF Core 使用迁移功能将模型变更同步到数据库。

在 Package Manager Console(或 .NET CLI)中运行以下命令:

Add-Migration InitialCreate

这条命令会生成一个迁移文件,包含创建 Products 表的代码。

接着运行:

Update-Database

EF Core 会自动创建数据库和表结构。

5. 增删改查操作示例

现在可以使用 AppDbContext 进行数据操作了:

using var context = new AppDbContext();
<p>// 添加数据
var product = new Product { Name = "笔记本电脑", Price = 5999.99M };
context.Products.Add(product);
context.SaveChanges();</p><p>// 查询数据
var allProducts = context.Products.ToList();
foreach (var p in allProducts)
{
Console.WriteLine($"{p.Id}: {p.Name} - {p.Price}");
}</p><p>// 修改数据
product.Price = 5499.99M;
context.SaveChanges();</p><p>// 删除数据
context.Products.Remove(product);
context.SaveChanges();

6. 小贴士与常见问题

  • 确保连接字符串正确,可换成实际 SQL Server 地址。
  • 每次修改模型后,都要执行 Add-MigrationUpdate-Database 更新数据库。
  • 可在 OnModelCreating 中使用 Fluent API 配置更复杂的映射关系。
  • 避免在 OnConfiguring 中硬编码连接字符串,推荐通过 appsettings.json 注入。

基本上就这些。EF Core Code First 让你专注业务模型设计,数据库自动跟上代码变化。不复杂但容易忽略细节,建议动手实践几次加深理解。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

1133

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

340

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

381

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

2174

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

380

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

1683

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

585

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

440

2024.04.29

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 11.2万人学习

C 教程
C 教程

共75课时 | 5.4万人学习

C++教程
C++教程

共115课时 | 21.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号