2013-11-28 7 views
6

ソースタイプからプロパティを無視しようとしています。私はこのようなマッピングを定義している:ForSourceMemberを使用しているとき、AutoMapperのIgnore()が機能していませんか?

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のドキュメントを非難します。初心者向けのものではありませんが、それは確かです。どういうわけか、wikiを読んで、グーグルグーグルで、私は決定的な答えを得ることができませんでした。今まで。 – iphone007

関連する問題