2010-12-04 99 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