0
如果基础配置文件已经加载,看起来像有用的AutoMapper-Profile属性IncludeBase只能工作。这里有一个理论的例子:AutoMapper:IncludeBase仅在加载基础配置文件时起作用
CreateMap<BusinessObject, MainObject>()
// Emitted
CreateMap<BusinessObject, Child1>()
.IncludeBase<BusinessObject, MainObject>()
// Emitted, more properties
这一个会像预期的那样工作,Child1获取所有映射的MainObject属性。 现在,另一边角落找寻,这不起作用:
CreateMap<BusinessObject, Child1>()
.IncludeBase<BusinessObject, MainObject>()
// Emitted, more properties
CreateMap<BusinessObject, MainObject>()
// Emitted
只有在的child1直接定义的属性配置文件中看到正确映射。
我用于AutoMapper的所有用法都包括通过反射动态加载配置文件。这种行为显然会停止,因为我不能确定,配置文件加载的顺序。这是真的打算还是我在这里使用错误?
感谢您的验证,没有什么比未知更糟糕 –