转载 sqlsugar生成实体类class文件

转自: https://blog.csdn.net/guyang1995/article/details/106711621

以下 是连接字符串:
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = Config.ConnectionString,
DbType = DbType.SqlServer,
InitKeyType = InitKeyType.SystemTable //初始化主键和自增列信息到ORM的方式
});

生成实体
注意:使用DbFirst数据库账户要有系统表的权限,否则无法读取表的结构

1.将库里面所有表都生成实体类文件
db.DbFirst.CreateClassFile("c:\Demo\1",命名空间);

2.指定名表生成 ,可以传数组
db.DbFirst.Where("Student").CreateClassFile("c:\Demo\2",命名空间);

3.根据表达式筛选
db.DbFirst.Where(it=>it.ToLower().StartsWith("view")).CreateClassFile("c:\Demo\3");

4.生成实体支持别名表和别名列(技巧:db.DbMaintenance.GetTableInfoList 可以拿到所有的表名可以批量循环操作)

db.MappingTables.Add("ClassStudent", "Student");
db.MappingColumns.Add("NewId", "Id", "ClassStudent");
db.DbFirst.IsCreateAttribute().Where("Student").CreateClassFile("c:\\Demo\\3");

5.生成实体类,并且给有数据库默认值的属性赋值
db.DbFirst.IsCreateDefaultValue().CreateClassFile("c:\Demo\4", "Demo.Models");

6.生成实体带属性
db.DbFirst.IsCreateAttribute().CreateClassFile("c:\Demo\5");

7.可以重定义生成实体的模版,把old的值通过断点复制一下,然后进行修改

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");

执行完成后就可以在目录下面,找到生成的cs文件。

posted on 2022-06-16 13:52  manber  阅读(1248)  评论(0编辑  收藏  举报

导航