生成实体

注意:使用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,操作更方便哦


如图:

TIM图片20181223193722.png


另外一款实体生成器支持 ORACLE

https://github.com/q7164518/Autoentity






果糖网