在.NET Core 2.2项目中,我们使用的是AutoMapper。在启动文件的ConfigureService方法中,我们在其中注册所有内容,我们调用:
services.AddAutoMapper(typeof(ModelMaps));
我们在ModelMaps类中对CreateMap()
进行了所有调用,以将所有模型映射放在一个位置。像这样有很多映射:
CreateMap<WarehouseModel, Warehouse>().ReverseMap();
CreateMap<Import, ImportModel>()
.ForMember(
m => m.StatusDescription, opt => opt.MapFrom(
o => EnumUtility.GetDescriptionFromEnum(o.StatusId)));
使用了100种不同的类型后,我们开始遇到此错误:
错误CA1506:“ ModelMaps”与来自“ 8”个不同名称空间的“ 100”个不同类型结合在一起。重写或重构代码以将其类耦合降低到'96'以下。 (8,18)
我知道为什么类耦合不是一个好主意,但是这个实例呢?有没有更好的方式让我们注册这些地图?这真的有问题吗?我们是否应该简单地排除这种错误并继续前进?