项目 | 版本 | 描述 |
.Net Core | 3.1 | 框架 |
SqlSugarCore | 5.0.1.5 | 数据库实体框架 |
Microscoft Visual Studio 2019 Community | 16.2.0 | 开发环境 |
子属性 | 描述 | 示例 |
{using} | 引用 | 见 2.2 |
{Namespace} | 命名空间,CreateClassFile函数的第二参数 | Model.Entity |
{ClassDescription} | 类描述 | 见 2.3 |
{SugarTable} | 类的Sugar属性 | [SugarTable("CHECK_PARAM")] |
{ClassName} | 类名 = 表/视图名称 | Student |
{Constructor} | 构造函数中的参数赋值 | 见 2.4 |
{PropertyName} | 属性描述&名称 | 见 2.5 & 2.6 |
{using}
namespace {Namespace}
{
{ClassDescription}{SugarTable}public partial class {ClassName}{public {ClassName}(){{Constructor}}
{PropertyName}}
}
SettingClassTemplate 中的 {using} 参数
using System;
using System.Linq;
using System.Text;
SettingClassTemplate 中的 {ClassDescription} 参数
子属性 | 描述 | 示例 |
{ClassDescription} | 类描述 | 学生信息 |
///<summary>///{ClassDescription}///</summary>
SettingClassTemplate 中的 {Constructor} 参数,构造函数没有入参时,此模板无效
this.{PropertyName} ={DefaultValue};
SettingClassTemplate 中的 {PropertyName} 参数
子属性 | 描述 | 示例 |
{PropertyDescription} | 属性描述 | 名称 |
{Default} | 默认值 | NULL::CHARACTER VARYING |
{IsNullable} | 是否为空值 | True |
/// <summary>/// Desc:{PropertyDescription}/// Default:{DefaultValue}/// Nullable:{IsNullable}/// </summary>
示例
/// <summary>/// Desc:名称/// Default:NULL::CHARACTER VARYING/// Nullable:True/// </summary>
SettingClassTemplate 中的 {PropertyName} 参数
子属性 | 描述 | 示例 |
{SugarColumn} | 属性的附加Sugar属性 | [SugarColumn(IsPrimaryKey=true,IsIdentity=true)] |
{PropertyType} | 属性类型 | int |
{PropertyName} | 属性名称 | ID |
{SugarColumn}public {PropertyType} {PropertyName} {get;set;}
示例
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]public int ID {get;set;}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using IBLL;
using log4net;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Model.DBEntity;
using Model.MyModel.Config;
using SqlSugar;
using Helper;namespace web_api_core_1.Controllers
{[ApiController][ApiVersion("1")][ApiVersion("2")]public abstract class ModelDBEntityController :BaseController{public ModelDBEntityController(ILog log) : base (log) { }/// <summary>/// 刷新实体模型/// </summary>/// <param name="directoryPath">实体类型文件生成路径</param>/// <param name="nameSpace">命令空间</param>[HttpGet]public string RefreshEntity(string directoryPath = @"C:Entity", string nameSpace = "Model.DBEntity"){try{SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = RSSConfig.SqlConnect.ToString(),//连接符字串DbType = RSSConfig.DbType,IsAutoCloseConnection = true,InitKeyType = InitKeyType.Attribute//从特性读取主键自增信息});foreach (var item in db.DbMaintenance.GetTableInfoList()){string entityName = item.Name.ToUpper();/*实体名大写*/db.MappingTables.Add(entityName, item.Name);foreach (var col in db.DbMaintenance.GetColumnInfosByTableName(item.Name)){db.MappingColumns.Add(col.DbColumnName.ToUpper() /*类的属性大写*/, col.DbColumnName, entityName);}}db.DbFirst.CreateClassFile(directoryPath, nameSpace);}catch(Exception exp){log.Err(exp);return exp.ToMulString(Helper.StrHelper.HTML.WARP);}return "Success";}}
}
using System;
using System.Linq;
using System.Text;
using SqlSugar;namespace Model.DBEntity
{///<summary>//////</summary>[SugarTable("machine")]public partial class MACHINE{public MACHINE(){}/// <summary>/// Desc:机器ID 暂定1:盒剂发药机 2:存取系统/// Default:'0'::BIGINT/// Nullable:False/// </summary> [SugarColumn(IsPrimaryKey=true)]public long MACHINEID {get;set;}/// <summary>/// Desc:机器地址名称/// Default:NULL::CHARACTER VARYING/// Nullable:True/// </summary> public string LOCATIONNAME {get;set;}/// <summary>/// Desc:机器IP/// Default:NULL::CHARACTER VARYING/// Nullable:True/// </summary> public string MACHINEIP {get;set;}/// <summary>/// Desc:机器状态 1:有效 0:无效/// Default:1/// Nullable:True/// </summary> public int? MACHINE_STATE {get;set;}/// <summary>/// Desc:/// Default:0/// Nullable:True/// </summary> public int? RUNNING_STATE {get;set;}/// <summary>/// Desc:机器类型 1001:片剂 1002:盒剂 1003:针剂 1004:智能药柜 1005:智能药架 1006:拆零分包机 1009:其它/// Default:/// Nullable:True/// </summary> public int? MACHINETYPE {get;set;}}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using IBLL;
using log4net;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Model.DBEntity;
using Model.MyModel.Config;
using SqlSugar;
using Helper;namespace web_api_core_1.Controllers
{[ApiController][ApiVersion("1")][ApiVersion("2")]public abstract class ModelDBEntityController :BaseController{public ModelDBEntityController(ILog log) : base (log) { }/// <summary>/// 刷新实体模型/// </summary>/// <param name="directoryPath">实体类型文件生成路径</param>/// <param name="nameSpace">命令空间</param>[HttpGet]public string RefreshEntity(string directoryPath = @"C:Entity", string nameSpace = "Model.DBEntity"){try{SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = RSSConfig.SqlConnect.ToString(),//连接符字串DbType = RSSConfig.DbType,IsAutoCloseConnection = true,InitKeyType = InitKeyType.Attribute//从特性读取主键自增信息});foreach (var item in db.DbMaintenance.GetTableInfoList()){string entityName = item.Name.ToUpper();/*实体名大写*/db.MappingTables.Add(entityName, item.Name);foreach (var col in db.DbMaintenance.GetColumnInfosByTableName(item.Name)){db.MappingColumns.Add(col.DbColumnName.ToUpper() /*类的属性大写*/, col.DbColumnName, entityName);}}db.DbFirst.SettingClassTemplate(o=> { return StrHelper.SugarCustom.ClassTemplate;}).SettingNamespaceTemplate(o => { return StrHelper.SugarCustom.NamespaceTemplate; }).SettingClassDescriptionTemplate(o => { return StrHelper.SugarCustom.ClassDescriptionTemplate; }).SettingConstructorTemplate(o => { return StrHelper.SugarCustom.ConstructorTemplate; }).SettingPropertyDescriptionTemplate(o => { return StrHelper.SugarCustom.PropertyDescriptionTemplate; }).SettingPropertyTemplate(o => { return StrHelper.SugarCustom.PropertyTemplate; }).IsCreateAttribute(true).CreateClassFile(directoryPath, nameSpace);}catch(Exception exp){log.Err(exp);return exp.ToMulString(Helper.StrHelper.HTML.WARP);}return "Success";}}
}
using log4net;
using Microsoft.Extensions.Configuration;
using Model.MyModel;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;namespace Helper
{public class StrHelper{/// <summary>/// 自定义模板/// <para>屏蔽CS1591警告:#pragma warning disable 1591</para>/// <para>构造函数添加描述</para>/// <para>调整部分模板的空格数量</para>/// </summary>public class SugarCustom{/// <summary>/// 类模板/// </summary>public const string ClassTemplate = @"{using}
#pragma warning disable 1591namespace {Namespace}
{{ClassDescription}{SugarTable}public partial class {ClassName}{/// <summary>/// {ClassName}/// </summary>public {ClassName}(){
{Constructor}}
{PropertyName}}
}
";/// <summary>/// 构造函数参数赋值模板/// </summary>public const string ConstructorTemplate = @" this.{PropertyName} = {DefaultValue};
";/// <summary>/// 引用模板/// </summary>public const string NamespaceTemplate = @"using System;
using System.Linq;
using System.Text;
";/// <summary>/// 类描述模板/// </summary>public const string ClassDescriptionTemplate = @" /// <summary>/// {ClassDescription} /// </summary>";/// <summary>/// 属性描述模板/// </summary>public const string PropertyDescriptionTemplate = @" /// <summary>/// 描 述:{PropertyDescription}/// 默 认 值:{DefaultValue}/// 是否空值:{IsNullable}/// </summary>";/// <summary>/// 属性模板/// </summary>public const string PropertyTemplate = @"{SugarColumn}public {PropertyType} {PropertyName} { get; set; }
";}/// <summary>/// 默认模板/// </summary>public class SugarDefault{/// <summary>/// 类模板/// </summary>public const string ClassTemplate = @"{using}
namespace {Namespace}
{
{ClassDescription}{SugarTable}public partial class {ClassName}{public {ClassName}(){{Constructor}}
{PropertyName}}
}
";/// <summary>/// 构造函数参数赋值模板/// </summary>public const string ConstructorTemplate = @" this.{PropertyName} ={DefaultValue};
";/// <summary>/// 引用模板/// </summary>public const string NamespaceTemplate = @"using System;
using System.Linq;
using System.Text;
";/// <summary>/// 类描述模板/// </summary>public const string ClassDescriptionTemplate = @" ///<summary>///{ClassDescription} ///</summary>
";/// <summary>/// 属性描述模板/// </summary>public const string PropertyDescriptionTemplate = @" /// <summary>/// Desc:{PropertyDescription}/// Default:{DefaultValue}/// Nullable:{IsNullable}/// </summary>";/// <summary>/// 属性模板/// </summary>public const string PropertyTemplate = @" {SugarColumn}public {PropertyType} {PropertyName} {get;set;}
";}}
}
using System;
using System.Linq;
using System.Text;
using SqlSugar;#pragma warning disable 1591namespace Model.DBEntity
{/// <summary>/// /// </summary>[SugarTable("machine")]public partial class MACHINE{/// <summary>/// MACHINE/// </summary>public MACHINE(){}/// <summary>/// 描 述:机器ID 暂定1:盒剂发药机 2:存取系统/// 默 认 值:0/// 是否空值:False/// </summary>[SugarColumn(IsPrimaryKey=true,ColumnName="machineID")]public int MACHINEID { get; set; }/// <summary>/// 描 述:机器类型 1001:片剂 1002:盒剂 1003:针剂 1004:智能药柜 1005:智能药架 1006:拆零分包机 1009:其它/// 默 认 值:/// 是否空值:True/// </summary>[SugarColumn(ColumnName="machineType")]public int? MACHINETYPE { get; set; }/// <summary>/// 描 述:机器地址名称/// 默 认 值:/// 是否空值:True/// </summary>[SugarColumn(ColumnName="locationName")]public string LOCATIONNAME { get; set; }/// <summary>/// 描 述:机器IP/// 默 认 值:/// 是否空值:True/// </summary>[SugarColumn(ColumnName="machineIP")]public string MACHINEIP { get; set; }/// <summary>/// 描 述:机器状态 1:有效 0:无效/// 默 认 值:1/// 是否空值:True/// </summary>[SugarColumn(ColumnName="machine_state")]public byte? MACHINE_STATE { get; set; }/// <summary>/// 描 述:/// 默 认 值:0/// 是否空值:True/// </summary>[SugarColumn(ColumnName="running_state")]public int? RUNNING_STATE { get; set; }}
}
本文发布于:2024-01-29 05:43:40,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170647822313111.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |