1.首先,說一下EFCore使用DBfist的基礎語法 。
dotnet ef dbcontext scaffold "Server=數據庫連接地址;Database=數據庫名
稱;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer 後續參數......
2.語法中的後續參數說明如下表。
簡寫 | 指令 | 說明 |
-d | --data-annotations | 該參數用於將模型配置,如果省略此選項,則使用僅 fluent API。 |
-c | --context <NAME> | 該參數指定DbContext類生成的名稱 |
--context-dir <PATH> | 該參數指定DbContext中的類文件, 路徑是相對於項目目錄,命名空間派生自文件夾名稱 | |
-f | --force | 該參數用於覆蓋現有文件 |
-o | --output-dir <PATH | 該參數指定要將實體類文件放入的目錄, 路徑是相對於項目目錄 |
--schema <SCHEMA_NAME>... | 該參數指定要生成的實體類型的表架構。 若要指定多個架構,請重複--schema爲每個。 如果省略此選項,則包括所有架構 | |
-t | --table <TABLE_NAME> | 該參數指定要生成的實體類型的表。 若要指定多個表,請重複-t或--table爲每個。 如果省略此選項,則包括所有表。 |
--use-database-names | 使用表和列名稱與數據庫中顯示的名稱完全一樣,請使用表和列的名稱。 如果省略了此選項,數據庫名稱將被更改爲更接近於C#名稱樣式約定。 |
3.有些人可能在參數中找不到生成視圖(View)的指令,我在開始也很困惑,後來找到了這個問題的解決方法,需要安裝aspnet-codegenerator來處理。
dotnet tool install -g dotnet-aspnet-codegenerator //安裝aspnet-codegenerator
dotnet aspnet-codegenerator view --dataContext MyDbContext --model //生成視圖對應的model
以上部分摘自官方文檔,詳情請參閱傳送門:https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/powershell