sqlsugar生成实体,sqlsugar生成Model 电脑版发表于:2020/5/25 15:03 #### 添加依赖: ``` <ItemGroup> <PackageReference Include="SqlSugarCore" Version="5.0.0.15" /> </ItemGroup> ``` #### 写好上下文对象: ``` //用单例模式 SqlSugarScope db = new SqlSugarScope(new ConnectionConfig() { ConnectionString = "Server=.;Database=OA;uid=sa;password=123456",//连接符字串 DbType = DbType.SqlServer,//数据库类型 IsAutoCloseConnection = true //不设成true要手动close }); ``` #### 生成实体: tn2>生成某个数据库所有实体 ``` db.DbFirst.CreateClassFile(@"D:\VS_Space\XOA.ScheduleTask\XOA.ScheduleTask.Model",命名空间); ``` tn3>指定表名生成实体 ``` db.DbFirst.Where("Article"). CreateClassFile(@"D:\VS_Space\XOA.ScheduleTask\XOA.ScheduleTask.Model",命名空间); ``` tn4>根据条件搜索要生成的表 ``` db.DbFirst.Where(it=>it.ToLower().StartsWith("Blog")). CreateClassFile(@"D:\VS_Space\XOA.ScheduleTask\XOA.ScheduleTask.Model","XOA.ScheduleTask.Model"); ``` tn5>生成的时候如果数据库有设置默认值同步生成。 可以和其他的结合起来使用其实就是一个IsCreateDefaultValue方法而已。 ``` db.DbFirst.IsCreateDefaultValue() .CreateClassFile(@"D:\VS_Space\XOA.ScheduleTask\XOA.ScheduleTask.Model",命名空间); ``` tn6> 生成实体的时候把属性带上 ``` db.DbFirst.IsCreateAttribute() .CreateClassFile(@"D:\VS_Space\XOA.ScheduleTask\XOA.ScheduleTask.Model",命名空间); ``` tn7>生成的时候取表的别名,或者列的别名。db.DbMaintenance.GetTableInfoList 可以拿到所有的表名,方便统一规则设置 ``` db.MappingTables.Add("MyCollect", "Student"); db.MappingColumns.Add("MyId", "Id", "MyFocus"); db.DbFirst.IsCreateAttribute().Where("Article") .CreateClassFile(@"D:\VS_Space\XOA.ScheduleTask\XOA.ScheduleTask.Model",命名空间); ``` tn8>自定义生成规则 ``` db.DbFirst. SettingClassTemplate(old => { return old; }) .SettingNamespaceTemplate(old => { //修改using命名空间 return old; }) .SettingPropertyDescriptionTemplate(old => { return @" /// <summary> /// Desc_My:{PropertyDescription} /// Default_My:{DefaultValue} /// Nullable_My:{IsNullable} /// </summary>"; }) .SettingPropertyTemplate(old => { return old; }) .SettingConstructorTemplate(old => { //修改构造函数 return old; }) .CreateClassFile(@"D:\VS_Space\XOA.ScheduleTask\XOA.ScheduleTask.Model",命名空间); ```