C# EF Core入门教程 C# EF Core快速上手指南

来源:这里教程网 时间:2026-02-21 17:33:38 作者:

EF Core 是 .NET 平台主流的 ORM 框架,用对象方式操作数据库,省去手写 SQL。入门不难,关键几步踩准就行。

建实体类,定义你要存的数据

实体类就是 C# 类,每个属性对应数据库表的一列。比如用户表:

public class User {
  public int Id { get; set; }
  public string? Name { get; set; }
  public string? Email { get; set; }
  public DateTime CreatedAt { get; set; }
}

EF Core 默认按命名约定映射:类名转复数作表名(User → Users),Id 属性自动当主键。不需要额外配置就能跑起来。

写 DbContext,管连接和数据集

新建一个继承 DbContext 的类,声明 DbSet 属性代表可操作的表:

public class AppDbContext : DbContext {
  public DbSet Users { get; set; }
  protected override void OnConfiguring(DbContextOptionsBuilder options) {
    options.UseSqlite("Data Source=app.db"); // 用 SQLite 示例,轻量免装
  }
}

连接字符串建议后期移到 appsettings.json,再通过依赖注入加载,但起步阶段直接写死更直观。

用迁移命令,让代码生成数据库

EF Core 的核心优势之一:模型变,库跟着变。靠迁移实现:

安装工具包:Microsoft.EntityFrameworkCore.Tools 在项目目录执行:dotnet ef migrations add InitialCreate 再执行:dotnet ef database update

执行完,app.db 文件就生成了,里面自动建好 Users 表,字段、主键、类型都按实体类推断好了。

做增删改查,用 LINQ 写得像操作集合

有了上下文实例,CRUD 就是普通 C# 对象操作:

using var ctx = new AppDbContext();
// 增
ctx.Users.Add(new User { Name = "张三", Email = "zhang@example.com", CreatedAt = DateTime.Now });
ctx.SaveChanges();
// 查
var users = ctx.Users.Where(u => u.Email.Contains("example")).ToList();
// 删
var user = ctx.Users.First(u => u.Id == 1);
ctx.Users.Remove(user);
ctx.SaveChanges();

所有操作都支持异步版本(如 AddAsyncSaveChangesAsync),线上项目推荐优先使用。

基本上就这些。环境搭好、类写对、迁移跑通、查起来——EF Core 入门闭环就完成了。

相关推荐