EF实体框架有3种类型,Data First
、Model First
、Code First
。
从项目实体文件生成数据库表的命令 (Code First)
-
第一步:需要引入的NuGet包
Microsoft.EntityFrameworkCore
-
Microsoft.EntityFrameworkCore.Tools
(EF工具包,创建实体) -
数据库驱动
- Sql Server 请安装
Microsoft.EntityFrameworkCore.SqlServer
- MySql/MariaDB请安装
Pomelo.EntityFrameworkCore.MySql
(2.0及以上版本) - 其他数据库请查看https://docs.microsoft.com/zh...
- Sql Server 请安装
- 第二步: 生成
实体文件
和DBContext(数据库上下文)
见文章 -
第三步:通过迁移来创建数据库,需在
工具->NuGet包管理器->程序包管理器控制台
选择执行命令所在的项目
下输入以下命令Add-Migration init
迁移成功可以看见在项目根目录下添加了一个Migrations文件夹
-
更新迁移到数据库,执行命令
Update-Database
然后删除Migrations文件夹即可
从数据库表生成项目实体文件的命令 (DB First)
-
需要引入的NuGet包
Microsoft.EntityFrameworkCore
-
Microsoft.EntityFrameworkCore.Tools
(EF工具包,创建实体) -
数据库驱动
- Sql Server 请安装
Microsoft.EntityFrameworkCore.SqlServer
- MySql/MariaDB请安装
Pomelo.EntityFrameworkCore.MySql
(2.0及以上版本) - 其他数据库请查看https://docs.microsoft.com/zh...
- Sql Server 请安装
-
需在
工具->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 (可能不成功)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。