1、存储int,实体枚举
数据库是int在实体中直接设置枚举就行了
public DbType DbType{ get ; set ;} |
2、存储string,实体枚举
数据想要存枚举字符串 那么就需要下面的写法
//新版本:存储字符串 SqlSugar 5.1.4.66-preview02 [SugarColumn(ColumnDataType= "varchar(20)" ,SqlParameterDbType= typeof (EnumToStringConvert))] public SqlSugar.DbType? EnumValue { get ; set ; } //老版:本转字符串 db.CurrentConnectionConfig.MoreSettings = new ConnMoreSettings() { TableEnumIsString = true }; db.Queryable<T>().Where(x=> x.type==p ).ToList() //Sql: type= 枚举字符串 |
注意请升级到:SqlSugar 5.1.4.69
3、存储string ,实体string,DTO是枚举
Select(it=> new dto() { Type=(枚举)( object )it.TypeString }).ToList() |
4、存储int, DTO String
//非匿名对象 var list = db.Queryable<Order>().Select(it=> new DTO { Type= it.Type.ToStrng() //先转成"1" 这种字符串 }) .Mapper(it => { //这边完全是C#代码可以调试的 it.Type=Enum.GetName( typeof (评价), it.type); }).ToList(); //匿名对象 Select(it=> (dynamic) new { Type=it.Type.ToString() }) .Mapper(it => { //这边完全是C#代码可以调试的 it.Type=Enum.GetName( typeof (评价), ( string )it.type); }).ToList(); |