1. 程式人生 > 實用技巧 >.Net Core + EF + mysql 從資料庫生成實體

.Net Core + EF + mysql 從資料庫生成實體

原文地址:https://blog.spiritling.cn/posts/daefc0a4/

安裝NuGet包

點選 工具 -> NuGet包管理器 -> 程式包管理器控制檯

分別安裝以下幾個包

Mysql 版本:

Install-Package MySql.Data.EntityFrameworkCore -Pre
Install-Package Pomelo.EntityFrameworkCore.MySql
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

Sql server 版本:

Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

執行命令生成實體

Mysql 版本:

Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force

或者

Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -UseDatabaseNames -Force

Sql server版本:

Scaffold-DbContext "Data Source=.;Initial Catalog=EFCore_dbfirst;User ID=sa;Password=sa.123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

引數說明

-OutputDir *** 實體檔案所存放的檔案目錄
-ContextDir *** DbContext檔案存放的目錄
-Context *** DbContext檔名
-Schemas *** 需要生成實體資料的資料表所在的模式
-Tables *** 需要生成實體資料的資料表的集合
-DataAnnotations
-UseDatabaseNames 直接使用資料庫中的表名和列名(某些版本不支援)
-Force 強制執行,重寫已經存在的實體檔案