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的所有用法都包括通過反射動態加載配置文件。這種行爲顯然會停止,因爲我不能確定,配置文件加載的順序。這是真的打算還是我在這裏使用錯誤?
感謝您的驗證,沒有什麼比未知更糟糕 –