一、简介
Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。
EF Core 可用作对象关系映射程序 (O/RM),以便于 .NET 开发人员能够使用 .NET 对象来处理数据库,这样就不必经常编写大部分数据访问代码了。
二、名词解释
数据库迁移:
创建数据库实体类,然后通过映射生成数据库的表
如果修改数据库实体属性,映射对应的字段
三、操作步骤
1.创建/修改领域里的实体类
2.创建迁移文件
3.应用迁移到数据库,或生成SQL脚本
使用迁移数据库场景:开发时
使用生成SQL脚本:发布生产环境,生成数据库脚本,拿给DBA
四、简单的Demo
(1) 创建两个实体类,Province和City,对应关系:一个省市对应多个城市,一对多关系
City类:
public class City { public int Id { get; set; } public string Name { get; set; } public string AreaCode { get; set; } public int ProvinceId { get; set; } public Province province { get; set; } }
Province类:
public class Province { public ListCityes { get; set; } public Province() { Cityes = new List (); } public int Id { get; set; } public string Name { get; set; } public int Population { get; set; } }
(2)创建一个MyContext继承DbContext类
public class MyContext:DbContext { public DbSetprovinces { get; set; } public DbSet cities { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer("Server=.;Database=EFCoreDemo611;User Id=sa;Password=123"); } }
(3)执行迁移
在Nuget包里添加如下内容:
EntityFrameworkCore是引用DbContext,对数据库操作用的
EntityFrameworkCore.SqlServer 是连接的数据驱动,可以换成mysql等,数据驱动可以参考官网
https://docs.microsoft.com/zh-cn/ef/core/providers/?tabs=dotnet-core-cli
EntityFrameworkCore.Tools是操作工具
打开控制台:工具--->NuGet包管理器----->程序包管理控制台
可以查看数据库操作命令,输入:get-help entityframeworkcore
常用的红色的标注上了:Add-Migration新增或者修改数据迁移 Update-Database更新到数据库中
输入Add-Migration新增迁移可能会出现这个问题
原因没有设置启动项,在包含DbContext里的类库中设置为启动项
更新到数据库中:输入Update-Database命令
项目中会生成迁移文件
数据库对应生成的表:
第一个入门Demo完成