Explorar el Código

fix: 修复Nullable类型枚举关联失败问题

喵你个旺呀 hace 1 año
padre
commit
4a13eea940

+ 2 - 1
Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs

@@ -132,8 +132,9 @@ public class SysCodeGenConfigService : IDynamicApiController, ITransient
             
             if (!string.IsNullOrWhiteSpace(tableColumn.DictTypeCode))
             {
+                codeGenConfig.QueryType = "==";
                 codeGenConfig.DictTypeCode = tableColumn.DictTypeCode;
-                codeGenConfig.EffectType = tableColumn.DictTypeCode.TrimEnd('?').EndsWith("Enum") ? "EnumSelector" : "Select";
+                codeGenConfig.EffectType = tableColumn.DictTypeCode.EndsWith("Enum") ? "EnumSelector" : "Select";
             }
 
             orderNo += 10; // 每个配置排序间隔10

+ 3 - 2
Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs

@@ -233,9 +233,10 @@ public class SysCodeGenService : IDynamicApiController, ITransient
             {
                 columnOutput.PropertyName = propertyInfo.Name;
                 columnOutput.ColumnComment = propertyInfo.GetCustomAttribute<SugarColumn>().ColumnDescription;
-                if (propertyInfo.PropertyType.IsEnum)
+                var propertyType = Nullable.GetUnderlyingType(propertyInfo.PropertyType);
+                if (propertyInfo.PropertyType.IsEnum || propertyType != null)
                 {
-                    columnOutput.DictTypeCode = propertyInfo.PropertyType.Name;
+                    columnOutput.DictTypeCode = (propertyType ?? propertyInfo.PropertyType).Name;
                 }
                 else
                 {