我使用Automapper將數據從對象A傳遞到對象BAutomapper:部分映射
classe ObjectA
{
string Title;
string Summary;
}
classe ObjectB
{
string Title;
string Summary;
IAddress Address;
}
我創造了這種映射的兩個對象
AutoMapper.Mapper.CreateMap<IObectA, IObjectB>()
.ForMember(dest => dest.Title, src => src.MapFrom(s => s.Title))
.ForMember(dest => dest.Summary, src => src.MapFrom(s => s.Summary))
.ForMember(dest => dest.Address, src => src.Ignore())
創建我的對象B,並填寫之間的所有物業包括地址
當我打電話的映射器,我期待它覆蓋標題和摘要,並忽略地址
ObjectB = Mapper.Map<IObjectA, IObjectB>(objectA);
實際上,它是引發和地址異常。
我在做什麼錯?
[更新] 爲了表達不同,我有我的objectB,我想用來自ObjectA的數據更新它的一部分。當我說Ignore時,我的意思是將數據保留爲已有的數據
這可能是知道你收到什麼異常有用... – JoDG 2011-03-21 08:00:55
好像你正在做的一切錯誤。您的代碼示例顯示了兩次ObjectA的類定義。稍後你會說你填充了ObjectB的所有屬性,但是在最後一個代碼片段中,它顯示你正試圖將objectA映射到objectB,而不是相反。 – JoDG 2011-03-21 08:17:53
@JoDG,我的錯誤。我更新了我的初始帖子。 拋出一個'System.Collections.Generic.KeyNotFoundException'類型的異常 – user385411 2011-03-21 08:39:11