简化 Enum.json和CodeGen.json中的名称配置

This commit is contained in:
coolcalf 2024-06-27 11:37:00 +08:00
parent 93ffa5ad50
commit d47b38c155
4 changed files with 14 additions and 6 deletions

View File

@ -3,7 +3,7 @@
// - // -
"CodeGen": { "CodeGen": {
"EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application" ], "EntityAssemblyNames": [ "Admin." ],
"BaseEntityNames": [ "EntityTenantId", "EntityTenant", "EntityTenantBaseData", "EntityBaseData", "EntityBase", "EntityBaseId" ], "BaseEntityNames": [ "EntityTenantId", "EntityTenant", "EntityTenantBaseData", "EntityBaseData", "EntityBase", "EntityBaseId" ],
"EntityBaseColumn": { "EntityBaseColumn": {
"EntityTenantId": [ "Id", "TenantId" ], "EntityTenantId": [ "Id", "TenantId" ],

View File

@ -3,6 +3,6 @@
// //
"Enum": { "Enum": {
"EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application", "Admin.NET.AppCMS" ] "EntityAssemblyNames": [ "Admin." ]
} }
} }

View File

@ -248,12 +248,17 @@ public class SysCodeGenService : IDynamicApiController, ITransient
var types = new List<Type>(); var types = new List<Type>();
if (_codeGenOptions.EntityAssemblyNames != null) if (_codeGenOptions.EntityAssemblyNames != null)
{ {
foreach (var assemblyName in _codeGenOptions.EntityAssemblyNames) var assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in assemblies)
{
var assemblyName = assembly.GetName().Name;
if (_codeGenOptions.EntityAssemblyNames.Contains(assemblyName) || _codeGenOptions.EntityAssemblyNames.Any(name => assemblyName.Contains(name)))
{ {
Assembly asm = Assembly.Load(assemblyName); Assembly asm = Assembly.Load(assemblyName);
types.AddRange(asm.GetExportedTypes().ToList()); types.AddRange(asm.GetExportedTypes().ToList());
} }
} }
}
bool IsMyAttribute(Attribute[] o) bool IsMyAttribute(Attribute[] o)
{ {
foreach (Attribute a in o) foreach (Attribute a in o)

View File

@ -27,7 +27,10 @@ public class SysEnumService : IDynamicApiController, ITransient
[DisplayName("获取所有枚举类型")] [DisplayName("获取所有枚举类型")]
public List<EnumTypeOutput> GetEnumTypeList() public List<EnumTypeOutput> GetEnumTypeList()
{ {
var enumTypeList = App.EffectiveTypes.Where(u => u.IsEnum && _enumOptions.EntityAssemblyNames.Contains(u.Assembly.GetName().Name)).OrderBy(u => u.Name).OrderBy(u => u.FullName).ToList(); var enumTypeList = App.EffectiveTypes.Where(t => t.IsEnum)
.Where(t => _enumOptions.EntityAssemblyNames.Contains(t.Assembly.GetName().Name) || _enumOptions.EntityAssemblyNames.Any(name => t.Assembly.GetName().Name.Contains(name)))
.OrderBy(u => u.Name).OrderBy(u => u.FullName)
.ToList();
var result = new List<EnumTypeOutput>(); var result = new List<EnumTypeOutput>();
foreach (var item in enumTypeList) foreach (var item in enumTypeList)