private void LoadDictNameSyncDescriptors(IServiceCollection services, IModuleDescriptor moduleDescriptor) { var collection = new DictSyncDescriptorCollection(); //因为EntityDescriptorCollection未提供获取所有实体描述符的方法,所以暂时只能通过模块查询 var entityDescriptors = EntityDescriptorCollection.Get(moduleDescriptor.Code); foreach (var entityDescriptor in entityDescriptors) { foreach (var column in entityDescriptor.Columns) { var attr = (DictSyncAttribute)Attribute.GetCustomAttribute(column.PropertyInfo, typeof(DictSyncAttribute)); if (attr != null) { collection.Add(new DictSyncDescriptor { GroupCode = attr.GroupCode, DictCode = attr.DictCode, DictNameColName = attr.DictNameColName, EntityDescriptor = entityDescriptor, ColumnDescriptor = column }); } } } services.AddSingleton(collection); }
public DefaultDictSyncProvider(DictSyncDescriptorCollection descriptorCollection, ILogger <DefaultDictSyncProvider> logger) { _descriptorCollection = descriptorCollection; _logger = logger; }