C#项目怎么集成EF Core C#集成EF Core完整步骤

需安装Microsoft.EntityFrameworkCore、Microsoft.EntityFrameworkCore.Tools及对应数据库提供程序包;定义实体类与继承DbContext的上下文类;通过Add-Migration和Update-Database执行迁移;依赖注入使用DbContext并注意Scoped生命周期。

安装EF Core相关NuGet包

在Visual Studio中右键项目 → 选择“管理NuGet包” → 切换到“浏览”选项卡,依次安装以下核心包:

  • Microsoft.EntityFrameworkCore(EF Core基础运行时)
  • Microsoft.EntityFrameworkCore.Tools(支持迁移命令,如Add-MigrationUpdate-Database
  • 对应数据库的提供程序,例如:
      • SQL Server: Microsoft.EntityFrameworkCore.SqlServer
      • SQLite: Microsoft.EntityFrameworkCore.Sqlite
      • PostgreSQL: Npgsql.EntityFrameworkCore.PostgreSQL

定义实体类和DbContext

创建一个或多个表示数据表的C#类(实体),例如:

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

再新建一个继承自DbContext的类,用于管理实体和数据库连接:

public class AppDbContext : DbContext
{
    public DbSet Products { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder options)
        => options.UseSqlServer("YourConnectionStringHere");
}

推荐方式是把连接字符串抽离到appsettings.json,并在Program.cs中注册上下文:

builder.Services.AddDbContext(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")))

添加并应用迁移

打开“程序包管理器控制台”(PMC),确保默认项目选中你的主项目,然后执行:

  • Add-Migration InitialCreate —— 生成首次迁移文件(含建表SQL)
  • Update-Database —— 将迁移应用到数据库,自动创建数据库和表

后续模型变更时,重复执行这两步即可。迁移文件会保存在项目中的Migrations文件夹里,可手动检查生成的SQL逻辑。

在代码中使用DbContext

通过依赖注入获取AppDbContext实例,进行增删改查操作:

var product = new Product { Name = "Laptop", Price = 999.99m };
context.Products.Add(product);
await context.SaveChangesAsync(); // 异步保存

var products = await context.Products.ToListAsync(); // 查询全部

注意:DbContext应按作用域生命周期注册(AddDbContext默认即为Scoped),避免跨请求复用或手动new实例。

基本上就这些。不复杂但容易忽略配置位置和生命周期管理。