EntityFramework Core入门教程-01-搭建基础环境

新建solution, 添加类库 model层

1 用vs2019,新建一个空的Solution命名为Demo,在该solution新建一个类库(.net standard),命名为Demo.Domain,用来存储一些model
​​​​​​​​​​​​​​在这里插入图片描述
2 创建model

    public class Player
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public DateTime DateOfBirth { get; set;  }
    }

    public class League
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Country { get; set; }
    }

    public class Club
    {
        public Club()
        {
            Players = new List<Player>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public string City { get; set; }
        public DateTime DateOfEstablishment { get; set; }
        public string History { get; set; }
        public League League { get; set; }//导航属性
        public List<Player> Players { get; set; }//导航属性
    }

创建数据库访问层

1 在当前solution新建.netstand 类库,命名为Demo.data,添加Domain层的引用
2 nuget下载 Mysql.data.entityframeworkCore,会自动将相关的依赖包全装上
3 新建类ContextDemo 这个类用来连接数据库,以及将model映射到数据库中表结构
这里面需要根据自己的机器配置好连接字符串。

public class ContextDemo:DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseMySQL("server=localhost;port=3306;user=root;password=111111;database=efcoreDemo");
    }
    public DbSet<League> Leagues { get; set; }
    public DbSet<Club> Clubs { get; set; }
    public DbSet<Player> Players { get; set; }
}

自动生成数据库

1 当前solution添加console的工程,并设置为启动项,添加另外两个工程Deme.Domain,Demo.data引用
2 搜索打开Package Manager Console,打开
3 Package Manager Console 中Default project 选择数据库访问层
4 使用migration命令之前,需在nuget安装 Microsoft.EntityFrameworkCore.Tools
5 在console中键入add-migration init ,生成迁移文件

首次运行add-migration会生成两个文件:
一个是迁移文件,每次add-migraiton都会生成迁移文件, 迁移文件中包含所有Model的修改或者新增或者删除的详细信息,包含更新前和更新后的对比信息
另一个是快照文件,快照用来追踪所有的model状态,只在首次添加migration时生成,后续对Model的修改只会更新这个文件

5 update-database;//生成数据库文件
此时在mysql中会生成对应的三张表
在这里插入图片描述
在这里插入图片描述

其他命令:
script-migration 生成sql脚本,主要引用于生产环境
upate-database -verbose 可以查看执行过程中明细

猜你喜欢

转载自blog.csdn.net/weixin_40719943/article/details/106932808