一、简介

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 List<City> Cityes { get; set; }
        public Province()
        {
            Cityes = new List<City>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public int Population { get; set; }
        
    }

 

(2)创建一个MyContext继承DbContext类

 public class MyContext:DbContext
    {
        public DbSet<Province> provinces { get; set; }
        public DbSet<City> 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完成

posted on 2020-06-11 17:18  Sun223  阅读(565)  评论(0编辑  收藏  举报