忽略从DomainModel到ViewModel的映射

时间:2010-12-04 05:05:20

标签: asp.net-mvc automapper

我在DomainModel(CreatedOn,ModifiedOn)中有2个字段,它们不在我的ViewModel中。从DomainModel映射到ViewModel时,如何在Source字段上放置ignore。请修改以下代码。

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

2 个答案:

答案 0 :(得分:1)

您无需指定有关这些字段的任何内容。只是:

Mapper.CreateMap<DomainModel, ViewModel>();

如果在DM和VM之间进行映射时视图模型上不存在CreatedOnModifiedOn属性,则会忽略它们。

答案 1 :(得分:0)

我相信AutoMapper只会尝试填充目标中的那些字段。只要目标没有恰好位于源中的字段,映射完成后这些字段就不会存在于目标中。

但是,如果字段确实存在于目标中,则看起来您的语法是正确的(尽管为了与我看到的所有示例保持一致 - 您可以使用dest =&gt; dest.CreatedOn而不是d =&gt; d.CreatedOn - 但我认为不会破坏它。)