利用FreeSql.Generator自動根據資料庫表動態生成實體類

wzwyc發表於2024-11-08

安裝

dotnet tool install -g FreeSql.Generator

示例

FreeSql.Generator -Razor 1 -NameOptions 0,0,0,1 -NameSpace LinCms.Core.Entities -DB "MySql,Data Source=127.0.0.1;Port=3306;User ID=root;Password=123456;Initial Catalog=lincms;Charset=utf8;SslMode=none;Max pool size=2"
  • 資料庫表名是下劃線,欄位也是下劃線方式。
  • -Razor 指定 第一個模板
  • -NameOptions 0,0,0,1 最後一個 1,代表 下劃線轉駝峰,滿足 C#命名規則
  • -NameSpace 指定了名稱空間 LinCms.Core.Entities
  • -DB 就是資料庫的相關配置
  • mysql 本地地址 127.0.0.1 3306 埠 使用者名稱 root 密碼 123456 資料庫 lin-cms
  • -Match book 這樣就能只生成 book,支援正規表示式,如 -Match linuser 就會生成以 lin_user 開頭的表。如 dbo.TB.+,會生成以 TB 開頭的表。即只生成匹配的表

執行上面的程式碼後,會在當前路徑下生成一個個實體類。
image

生成的實體類:
image

其它和具體詳細資訊參考官方文件:
DbFirst | FreeSql 官方文件
https://freesql.net/guide/db-first.html

相關文章