EF实体框架有3种类型,Data FirstModel FirstCode First

从项目实体文件生成数据库表的命令 (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...
  • 第二步: 生成实体文件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...
  • 需在工具->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 输出文件夹名称

[补充]
添加Nuget包方式 :
方式一:在Nuget包管理器中搜索,例如搜索:Microsoft.EntityFrameworkCore.SqlServer,然后安装
方式二:在程序包管理器控制台中输入Install-Package Microsoft.EntityFrameworkCore.SqlServer (可能不成功)

zhangq
8 声望0 粉丝