zoukankan      html  css  js  c++  java
  • EntityFramework Core入门教程-01-搭建基础环境

    原文:https://blog.csdn.net/weixin_40719943/article/details/106932808

    视频:https://www.bilibili.com/video/BV1xa4y1v7rR 

    一、新建solution, 添加类库 model层

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

        
        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; }//导航属性
        }
        public class Player //队员
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public DateTime DateOfBirth { 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 可以查看执行过程中明细

  • 相关阅读:
    CSS3相关编码规范
    WEB开发中常见的漏洞
    Python常用端口扫描
    33、Django实战第33天:我的消息
    32、Django实战第32天:我的收藏
    31、Django实战第31天:我的课程
    30、Django实战第30天:修改邮箱和用户信息
    29、Django实战第29天:修改密码和头像
    28、Django实战第28天:个人信息展示
    27、Django实战第27天:全局搜索功能开发
  • 原文地址:https://www.cnblogs.com/springsnow/p/13402743.html
Copyright © 2011-2022 走看看