文章目录
一、EntityFrameworkCore是什么?
Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术, 可用作对象关系映射程序 (ORM)。
二、使用步骤
1.安装库
通过Nuget安装Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design、Microsoft.EntityFrameworkCore.Tools这三个库文件。
2.创建数据库上下文
创建一个数据库上下文类,继承Microsoft.EntityFrameworkCore里的DbContext类,重写OnModelCreating方法(模型生成时触发的方法)。
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions options) : base(options)
{
}
public DbSet<Shirt> Shirts { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// 种子数据
modelBuilder.Entity<Shirt>().HasData(
new Shirt() { ShirtId = 1, Brand = "My Brand", Color = "Blue", Gender = "Men", Price = 30, Size = 10 },
new Shirt() { ShirtId = 2, Brand = "My Brand", Color = "Blanck", Gender = "Men", Price = 35, Size = 12 },
new Shirt() { ShirtId = 3, Brand = "Your Brand", Color = "Pink", Gender = "Women", Price = 28, Size = 8 },
new Shirt() { ShirtId = 4, Brand = "Your Brand", Color = "Yellow", Gender = "Women", Price = 30, Size = 9 }
);
}
}
DbSet是数据表,并通过HasData方法传入需要生成的种子数据。
3.启动数据迁移
主要实现数据库中的代码优先(code first),根据DbContext类的代码信息迁移到对应数据库中。
3.1 获取数据库连接字符串
数据库使用的是Microsoft SQL Server ,可以打开VS的“工具”->“连接到数据库”。
连接数据库后,在属性里获取数据库连接字符串(需更改数据库名称)。
3.2 配置连接信息
在appsetting.json文件配置数据连接字符串信息。
在Program.cs中让服务添加数据库上下文配置信息。
3.3 生成迁移代码文件
打开“工具”->“Nuget包管理器”->“程序包管理控制台”,在控制台输入 Add-Migration Init命令。
会在解决方案里,自动生成一个Migrations的文件夹,包含两个迁移代码文件。
3.4 生成数据库
在控制台继续输入 Update-Database Init命令创建数据库。
数据库已有对应数据。