1、官網地址
https://docs.microsoft.com/zh-cn/ef/core/cli/powershell#scaffold-dbcontext
2.命令說明
Scaffold-DbContext 為 DbContext 數據庫的和實體類型生成代碼。 為了使 Scaffold-DbContext 生成實體類型,數據庫表必須具有主鍵。 參數: SCAFFOLD-DBCONTEXT 參數 說明 -連接 <String> 用於連接到數據庫的連接字符串。 對於 ASP.NET Core 2.x 項目,值可以是 name = <name of connection string> 。
在這種情況下,該名稱來自為項目設置的配置源。 這是一個位置參數,並且是必需的。 -提供程序 <String> 要使用的提供程序。 通常,這是 NuGet 包的名稱,例如: Microsoft.EntityFrameworkCore.SqlServer 。 這是一個位置參數,並且是必需的。 -OutputDir <String> 要在其中放置文件的目錄。 路徑相對於項目目錄。 -ContextDir <String> 要在其中放置文件的目錄 DbContext 。 路徑相對於項目目錄。 -命名空間 <String> 要用於所有生成的類的命名空間。 默認值為從根命名空間和輸出目錄生成。 在 EF Core 5.0 中添加。 -ContextNamespace <String> 要用於生成的類的命名空間 DbContext 。 注意:重寫 -Namespace 。 在 EF Core 5.0 中添加。 -上下文 <String> DbContext要生成的類的名稱。 -架構 <String[]> 要為其生成實體類型的表的架構。 如果省略此參數,則包括所有架構。 -表 <String[]> 要為其生成實體類型的表。 如果省略此參數,則包括所有表。 -DataAnnotations 使用屬性可在可能) 的情況下配置模型 (。 如果省略此參數,則只使用 Fluent API。 -UseDatabaseNames 使用表和列的名稱與數據庫中顯示的名稱完全相同。 如果省略此參數,則更改數據庫名稱以更嚴格地符合 c # 名稱樣式約定。 -Force 覆蓋現有文件。 -NoOnConfiguring 不生成 DbContext.OnConfiguring 。 在 EF Core 5.0 中添加。 -NoPluralize 請勿使用復數化程序。 在 EF Core 5.0 中添加。
3、示例
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables "Blog","Post" -ContextDir Context -Context BlogContext -ContextNamespace New.Namespace