我在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());
答案 0 :(得分:1)
您无需指定有关这些字段的任何内容。只是:
Mapper.CreateMap<DomainModel, ViewModel>();
如果在DM和VM之间进行映射时视图模型上不存在CreatedOn
和ModifiedOn
属性,则会忽略它们。
答案 1 :(得分:0)
我相信AutoMapper只会尝试填充目标中的那些字段。只要目标没有恰好位于源中的字段,映射完成后这些字段就不会存在于目标中。
但是,如果字段确实存在于目标中,则看起来您的语法是正确的(尽管为了与我看到的所有示例保持一致 - 您可以使用dest =&gt; dest.CreatedOn而不是d =&gt; d.CreatedOn - 但我认为不会破坏它。)