需安装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-Migration、Update-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实例。
基本上就这些。不复杂但容易忽略配置位置和生命周期管理。










