2010-12-04 56 views
0

我在DomainModel(CreatedOn,ModifiedOn)中有兩個字段不在我的ViewModel中。當從DomainModel映射到ViewModel時,如何忽略源字段。請修正以下代碼。忽略從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只會嘗試填充目標中的這些字段。只要目標沒有碰巧位於源代碼中的字段,映射完成後這些字段就不會存在於目標中。但是,如果字段確實存在於目標中,它看起來像你的語法是正確的(儘管爲了與所有我見過的例子保持一致 - 你可以使用dest => dest.CreatedOn而不是d => d .CreatedOn - 但我不認爲這會打破它)。

+0

此代碼不起作用,因爲在d屬性createdon和modifiedon後按下dot不會列出。這意味着d。始終顯示目標字段。現在我想要的只是在從DM映射到VM時忽略Source中的值,即DomainModel中的值。任何解決方案? – Pirzada 2010-12-04 07:17:42