# DbFirst ```csharp 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(); ``` ### 获取所有数据库 ```csharp var t1 = fsql.DbFirst.GetDatabases(); //返回字符串数组, ["cccddd", "test"] ``` ### 获取指定数据库的表信息 ```csharp var t2 = fsql.DbFirst.GetTablesByDatabase(fsql.DbFirst.GetDatabases()[0]); //返回包括表、列详情、主键、唯一键、索引、外键 ``` # 生成器 生成器是基于 dbfirst 开发的辅助工具,适用老项目一键生成实体。生成器采用模板的方式,作者实现了三种生成模板: | 模板名称 | 路径 | 类型映射 | 外键导航属性 | 缓存管理 | 失血 | 贫血 | 充血 | | ------------- | - | - |- | - |- | - |- | | simple-entity | ../Templates/MySql/simple-entity | √ | X | X | √ | X | X | | simple-entity-navigation-object | ../Templates/MySql/simple-entity-navigation-object | √ | √ | X | √ | X | X | | rich-entity-navigation-object | ../Templates/MySql/rich-entity-navigation-object | √ | √ | √ | X | √ | X | > 更多模板逐步开发中。。。 ```csharp //创建模板生成类现实 var gen = new FreeSql.Generator.TemplateGenerator(); gen.Build(fsql.DbFirst, @"C:\Users\28810\Desktop\github\FreeSql\Templates\MySql\simple-entity", //模板目录(事先下载) @"C:\Users\28810\Desktop\新建文件夹 (9)", //生成后保存的目录 "cccddd" //数据库 ); ``` ## 模板语法 ```html
aaa
bbb {#i}
ccc {#i}