Entity Framework 資料庫遷移
阿新 • • 發佈:2020-08-19
從專案實體檔案生成資料庫表的命令 (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-cn/ef/core/providers/
- Sql Server 請安裝
-
第二步: 生成
實體檔案
和DBContext(資料庫上下文)
見文章 -
第三步:通過遷移來建立資料庫,需在
工具->NuGet包管理器->程式包管理器控制檯
選擇執行命令所在的專案
下輸入以下命令Add-Migration init
遷移成功可以看見在專案根目錄下添加了一個Migrations資料夾
-
更新遷移到資料庫,執行命令
Update-Database
然後刪除Migrations資料夾即可
從資料庫表生成專案實體檔案的命令 (DB First)
-
需要引入的NuGet包
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Tools
- 資料庫驅動
- Sql Server 請安裝
Microsoft.EntityFrameworkCore.SqlServer
- MySql/MariaDB請安裝
Pomelo.EntityFrameworkCore.MySql
(2.0及以上版本) - 其他資料庫請檢視https://docs.microsoft.com/zh-cn/ef/core/providers/
- 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 輸出資料夾名稱