Entity Framework 数据库迁移

从项目实体文件生成数据库表的命令 (Code First)

  • 第一步:需要引入的NuGet包
    images_01.png

    • Microsoft.EntityFrameworkCore
    • Microsoft.EntityFrameworkCore.Tools(EF工具包,创建实体)
    • 数据库驱动
      • Sql Server 请安装 Microsoft.EntityFrameworkCore.SqlServer
      • MySql/MariaDB请安装Pomelo.EntityFrameworkCore.MySql (2.0及以上版本)
      • 其他数据库请查看https://docs.microsoft.com/zh-cn/ef/core/providers/
  • 第二步: 生成实体文件DBContext(数据库上下文) 见文章

  • 第三步:通过迁移来创建数据库,需在工具->NuGet包管理器->程序包管理器控制台选择执行命令所在的项目下输入以下命令

    Add-Migration init
    

    迁移成功可以看见在项目根目录下添加了一个Migrations文件夹

  • 更新迁移到数据库,执行命令

    Update-Database
    

然后删除Migrations文件夹即可

从数据库表生成项目实体文件的命令 (DB First)

  • 需要引入的NuGet包
    images_01.png

    • Microsoft.EntityFrameworkCore
    • Microsoft.EntityFrameworkCore.Tools(EF工具包,创建实体)
    • 数据库驱动
      • Sql Server 请安装 Microsoft.EntityFrameworkCore.SqlServer
      • MySql/MariaDB请安装Pomelo.EntityFrameworkCore.MySql (2.0及以上版本)
      • 其他数据库请查看https://docs.microsoft.com/zh-cn/ef/core/providers/
  • 需在工具->NuGet包管理器->程序包管理器控制台中选择执行命令所在的项目下输入以下命令

    Scaffold-DbContext "Server=.;database=test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
    

    Scaffold-DbContext "Data Source=rdsqjywf72g48u7zrw5alo.sqlserver.rds.aliyuncs.com,3433; Database=chehuoyiv3-dev; User ID=chy_dev; Password=Chy123456;"  Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
    

    命令格式为:
    Scaffold-DbContext "数据库连接字符串" EF组件名(Microsoft.EntityFrameworkCore.SqlServer/Pomelo.EntityFrameworkCore.MySql/等等) -OutputDir 输出文件夹名称

posted @ 2020-08-19 16:18  清風2022  阅读(112)  评论(0)    收藏  举报