-
Notifications
You must be signed in to change notification settings - Fork 861
DbFirst
2881099 edited this page Feb 27, 2020
·
29 revisions
FreeSql 支持 DbFirst 的开发模式,即先有数据库再有项目,这种传统的开发模式永远不会过时,适合老项目仍然在维护,或者数据库重构成本过高的项目。关系型数据库有许多成熟的运维和开发类配套工具,例如我们所关注的ER图工具 PowerDesigner,使用它可以更直观的查看表之间的关系。除了FreeSql作者同时在维护超过十年的代码生成器dotnetGen项目,它是一款支持超快速开发且高度可控的解决方案,作者非常喜欢 DbFirst 的开发模式,因此在 FreeSql for DbFirst 功能上会有不错的支持。
DbFirst 模式开发主要提供了不同数据库的表结构查询适配,配合模板生成器实现从数据库导入模型到c#代码中。
IFreeSql fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10")
.Build(); //请务必定义成 Singleton 单例模式
var t1 = fsql.DbFirst.GetDatabases();
//返回字符串数组, ["cccddd", "test"]
var t2 = fsql.DbFirst.GetTablesByDatabase(fsql.DbFirst.GetDatabases()[0]);
//返回包括表、列详情、主键、唯一键、索引、外键、备注等等
dotnet tool install -g FreeSql.Generator
新建目录,在地址栏输入 cmd 快速打开命令窗口,输入命令:
FreeSql.Generator --help
使用命令行工具生成实体类的极大好处,是后续的重新生成操作(一键完成)。
源码地址:https://github.com/2881099/FreeSql.Tools
作者:mypeng1985