天天看點

.net core3.1 efcore DBFirst(生成實體類)

.net core3.1 efcore(生成實體類)

1.安裝包

Install-Package MySql.Data.EntityFrameworkCore  

Install-Package Pomelo.EntityFrameworkCore.MySql

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

2.執行語句

打開項目檔案夾(需要放置實體類和dbcontext檔案的位址 ),cmd 執行指令

mysql版本如下:(server=localhost;不能為server=.;)

dotnet ef dbcontext scaffold "Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Chinook" Microsoft.EntityFrameworkCore.SqlServer
           

PMC 包管理工具(僅限制vs2019使用)

Scaffold-DbContext -Connection "server=127.0.0.1;uid=root;pwd=123;database=Book;"  -Provider Pomelo.EntityFrameworkCore.MySql -OutputDir Models -ContextDir Db -Context BookContext -Table[單獨表生成去除的話生成全部] T_User -UseDatabaseNames  -Force
           

以上代碼如果執行PMC指令的時候報錯如下

.net core3.1 efcore DBFirst(生成實體類)

則重新安裝 最新版 Install-Package Microsoft.EntityFrameworkCore.Tools

注意:如果報 dotnet ef 無此指令 運作如下代碼

 dotnet tool install --global dotnet-ef
           

官方注釋:

-OutputDir *** 實體檔案所存放的檔案目錄

-ContextDir *** DbContext檔案存放的目錄

-Context *** DbContext檔案名

-Schemas *** 需要生成實體資料的資料表所在的模式

-Tables *** 需要生成實體資料的資料表的集合

-DataAnnotations

-UseDatabaseNames 直接使用資料庫中的表名和列名(某些版本不支援)

-Force 強制執行,重寫已經存在的實體檔案

微軟官方文檔 中斷性變更:

https://docs.microsoft.com/zh-cn/ef/core/what-is-new/ef-core-3.0/breaking-changes?toc=/dotnet/core/compatibility/toc.jso

https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/dotnet

https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/scaffolding?tabs=dotnet-core-cli

————————————————

版權聲明:本文為CSDN部落客「chafferer_」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

繼續閱讀