注意:使用DbFirst数据库账户要有系统表的权限,否则无法读取表的结构
1.将库里面所有表都生成实体类文件
1 | db.DbFirst.CreateClassFile( "c:\\Demo\\1" ,命名空间); |
2.指定名表生成 ,可以传数组
1 | db.DbFirst.Where( "Student" ).CreateClassFile( "c:\\Demo\\2" ,命名空间); |
3.根据表达式筛选
1 | db.DbFirst.Where(it=>it.ToLower().StartsWith( "view" )).CreateClassFile( "c:\\Demo\\3" ); |
4.生成实体支持别名表和别名列(技巧:db.DbMaintenance.GetTableInfoList 可以拿到所有的表名可以批量循环操作)
1 2 3 | db.MappingTables.Add( "ClassStudent" , "Student" ); db.MappingColumns.Add( "NewId" , "Id" , "ClassStudent" ); db.DbFirst.IsCreateAttribute().Where( "Student" ).CreateClassFile( "c:\\Demo\\3" ); |
5.生成实体类,并且给有数据库默认值的属性赋值
1 | db.DbFirst.IsCreateDefaultValue().CreateClassFile( "c:\\Demo\\4" , "Demo.Models" ); |
6.生成实体带属性
1 | db.DbFirst.IsCreateAttribute().CreateClassFile( "c:\\Demo\\5" ); |
7.可以重定义生成实体的模版,把old的值通过断点复制一下,然后进行修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | db.DbFirst. SettingClassTemplate(old => { return old; }) .SettingNamespaceTemplate(old => { return old; //修改using命名空间 }) .SettingPropertyDescriptionTemplate(old => { return @" /// <summary> /// Desc_New:{PropertyDescription} /// Default_New:{DefaultValue} /// Nullable_New:{IsNullable} /// </summary>" ; }) .SettingPropertyTemplate(old => { return old; }) .SettingConstructorTemplate(old => { return old; //修改构造函数 }) .CreateClassFile( "c:\\Demo\\6" ); |
如果不想创建文件我们只想要字符串可以用
ToClassStringList 代替CreateClassFile
如果你不想使用DBFirst, 或者使用出现异常, 可以使用SqlSugar推荐的开源的工具箱生成实体类
Github地址: SqlSugarORM工具箱
不想使用源码的, 可以使用已经编译好的, 点我下载:
链接: https://pan.baidu.com/s/1NtQwe8GRUoTWBFSeJdxm-Q 提取码: 86xp 复制这段内容后打开百度网盘手机App,操作更方便哦
如图:
另外一款实体生成器支持 ORACLE
https://github.com/q7164518/Autoentity
2016 © donet5.comApache Licence 2.0