简化 Enum.json和CodeGen.json中的名称配置
This commit is contained in:
parent
93ffa5ad50
commit
d47b38c155
@ -3,7 +3,7 @@
|
||||
|
||||
// 代码生成配置项-程序集名称集合
|
||||
"CodeGen": {
|
||||
"EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application" ],
|
||||
"EntityAssemblyNames": [ "Admin." ],
|
||||
"BaseEntityNames": [ "EntityTenantId", "EntityTenant", "EntityTenantBaseData", "EntityBaseData", "EntityBase", "EntityBaseId" ],
|
||||
"EntityBaseColumn": {
|
||||
"EntityTenantId": [ "Id", "TenantId" ],
|
||||
|
||||
@ -3,6 +3,6 @@
|
||||
|
||||
// 枚举实体所在程序集名称集合
|
||||
"Enum": {
|
||||
"EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application", "Admin.NET.AppCMS" ]
|
||||
"EntityAssemblyNames": [ "Admin." ]
|
||||
}
|
||||
}
|
||||
@ -248,10 +248,15 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
var types = new List<Type>();
|
||||
if (_codeGenOptions.EntityAssemblyNames != null)
|
||||
{
|
||||
foreach (var assemblyName in _codeGenOptions.EntityAssemblyNames)
|
||||
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
|
||||
foreach (var assembly in assemblies)
|
||||
{
|
||||
Assembly asm = Assembly.Load(assemblyName);
|
||||
types.AddRange(asm.GetExportedTypes().ToList());
|
||||
var assemblyName = assembly.GetName().Name;
|
||||
if (_codeGenOptions.EntityAssemblyNames.Contains(assemblyName) || _codeGenOptions.EntityAssemblyNames.Any(name => assemblyName.Contains(name)))
|
||||
{
|
||||
Assembly asm = Assembly.Load(assemblyName);
|
||||
types.AddRange(asm.GetExportedTypes().ToList());
|
||||
}
|
||||
}
|
||||
}
|
||||
bool IsMyAttribute(Attribute[] o)
|
||||
|
||||
@ -27,7 +27,10 @@ public class SysEnumService : IDynamicApiController, ITransient
|
||||
[DisplayName("获取所有枚举类型")]
|
||||
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>();
|
||||
foreach (var item in enumTypeList)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user