2010-12-04 4 views
0

私はViewModelにないDomainModel(CreatedOn、ModifiedOn)に2つのフィールドを持っています。 DomainModelからViewModelにマッピングするときに、どのようにSourceフィールドに無視することができますか?以下のコードを修正してください。無視DomainModelからViewModelへのマッピング

Mapper.CreateMap<DomainModel, ViewModel>() 
       .ForMember(d => d.CreatedOn, opt => opt.Ignore()) 
       .ForMember(d => d.ModifiedOn, opt => opt.Ignore()); 

答えて

1

これらのフィールドについては、特に指定する必要はありません。ジャスト:

Mapper.CreateMap<DomainModel, ViewModel>(); 

DMとVM間でマッピングする際CreatedOnModifiedOnプロパティは、あなたのビューモデルに存在しない場合、彼らは単に無視されます。

0

私は、AutoMapperがターゲットのフィールドにデータを入力しようとします。ターゲットにソースに存在するフィールドがない限り、マッピングが完了した後にそれらのフィールドはターゲットに存在しません。

しかし、フィールドがターゲット内に存在していた場合は、構文が正しいように見えます(私が見たすべての例と一貫性がありますが、d => dではなくdest => dest.CreatedOn 。作成された - しかし、私はそれが壊れるとは思わない)。

+0

dプロパティcreatedonとmodifiedonの後にドットを押すと表示されないため、このコードは機能しません。これは、d。ターゲットフィールドが常に表示されます。今私が望むのは、DMからVMにマッピングするときにDomainModelであるSourceの値を無視することだけです。それに対する解決策はありますか? – Pirzada

+0

これらのフィールドは、ターゲット(ビュー・モデル)に存在しないため、Intellisenseによってリストされません。これらのフィールドは、ソース(ドメインモデル)に存在しても無視されています。 – Mayo

関連する問題