https://jishuin.proginn.com/p/763bfbd2b798

回到FreeSql.Generator 命令行

对于此工具的使用可参考 https://github.com/dotnetcore/FreeSql/wiki/DbFirst

源码位置 https://github.com/dotnetcore/FreeSql/tree/master/Extensions/FreeSql.Generator

前提是本地安装了.net core 3.1 的sdk.

怎么使用呢。

安装 dotnet-tool 生成实体类

dotnet tool install -g FreeSql.Generator
新建目录,在地址栏输入 cmd 快速打开命令窗口,输入命令:

FreeSql.Generator –help
我们可以看到

C:\Users\igeekfan\Desktop\code>FreeSql.Generator –help
__ __ _
/ / __ _ _ / / _ _ / /
/ / / _// -
)/ -) _\ \ / _ `/ / /
/
/ // _/ _/ /___/ \, / //
/
/

https://github.com/2881099/FreeSql v1.5.0

使用 FreeSql 快速生成数据库的实体类

更新工具:dotnet tool update -g FreeSql.Generator
  > FreeSql.Generator -Razor 1 -NameOptions 0,0,0,0 -NameSpace MyProject -DB "MySql,Data Source=127.0.0.1;..."

     -Razor 1                  * 选择模板:实体类+特性

     -Razor 2                  * 选择模板:实体类+特性+导航属性

     -Razor "d:\diy.cshtml"    * 自定义模板文件

     -NameOptions              * 总共4个布尔值,分别对应:
                               # 首字母大写
                               # 首字母大写,其他小写
                               # 全部小写
                               # 下划线转驼峰

     -NameSpace                * 命名空间

     -DB "MySql,Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=数据库;Charset=utf8;SslMode=none;Max pool size=2"

     -DB "SqlServer,Data Source=.;Integrated Security=True;Initial Catalog=数据库;Pooling=true;Max Pool Size=2"

     -DB "PostgreSQL,Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=数据库;Pooling=true;Maximum Pool Size=2"

     -DB "Oracle,user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2"

     -DB "Sqlite,Data Source=document.db"

     -DB "Dameng,server=127.0.0.1;port=5236;user id=2user;password=123456789;database=2user;poolsize=2"
                               Dameng 是国产达梦数据库

     -Filter                   Table+View+StoreProcedure
                               默认生成:表+视图+存储过程
                               如果不想生成视图和存储过程 -Filter View+StoreProcedure

     -Match                    正则表达式,只生成匹配的表,如:dbo\.TB_.+

     -FileName                 文件名,默认:{name}.cs

     -Output                   保存路径,默认为当前 shell 所在目录
                               推荐在实体类目录创建 gen.bat,双击它重新所有实体类
更新命令行

dotnet tool update -g FreeSql.Generator
这里lin-cms-dotnetcore这个项目来测试。

数据库表名是下划线,字段也是下划线方式。

-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,支持正则表达式,如 -Math lin_user 就会生成以lin_user开头的表。如dbo.TB_.+,会生成以TB开头的表。即只生成匹配的表

执行此命令。

文档更新时间: 2022-12-18 20:37   作者:admin