2013-11-28 24 views
6

我試圖忽略源類型的屬性。我已經定義的映射是這樣的:使用ForSourceMember時AutoMapper的忽略()不起作用?

var map = AutoMapper.Mapper.CreateMap<Article, IArticle>(); 
map.ForSourceMember(s => s.DateCreated, opt => opt.Ignore()); 
map.ForSourceMember(s => s.DateUpdated, opt => opt.Ignore()); 

當我打電話地圖功能,

AutoMapper.Mapper.Map(article, articlePoco); 

目的地的屬性得到仍會更新。我正在使用從NuGet下載的最新穩定版本。

任何想法爲什麼這不起作用?

我發現了這個問題的類似問題,但沒有附加答案。 [提問]:AutoMapper's Ignore() not working?

回答

6

更改使用ForMember映射:

map.ForMember(s => s.DateCreated, opt => opt.Ignore()); 
map.ForMember(s => s.DateUpdated, opt => opt.Ignore()); 
+2

是的,這確實起作用,但對我來說這是一個有點奇怪做映射的時候,因爲我設置忽略目的地部件實際上忽略了源中的數據而不是目的地。 – khorvat

+0

我也犯了同樣的錯誤。我責怪AutoMapper的文檔。這不是爲初學者寫的。不知何故,在閱讀維基百科和谷歌搜索之後,我無法得到明確的答案。到現在。 – iphone007