如何在Automapper中忽略源对象

时间:2013-05-23 18:42:07

标签: c# automapper

这是我的Source类

public class Content :IAggregateRoot
    {
        public Guid Id { get; set; }
        public string HeaderImage { get; set; }
        public string AboutText { get; set; }
        public string Address { get; set; }
        public long Phone { get; set; }
        public long Mobile { get; set; }
        public DateTime CreationTime { get; set; }
    }

这是我的目的地课程

public class AboutViewModel
    {
        public string AboutText { get; set; }
        public string Address { get; set; }
        public long Phone { get; set; }
        public long Mobile { get; set; }
    }

我只想忽略源的额外属性,并使用此方法使用Automapper将源映射到目标

public static AboutViewModel ConvertToAboutViewModel(this Content content)
        {
           // Mapper.CreateMap<Content,AboutViewModel>().ForMember(x=>x.AboutText,)
            return Mapper.Map<Content, AboutViewModel>(content);
        }

我该怎么做?

1 个答案:

答案 0 :(得分:1)

默认情况下,Automapper会忽略这些属性,因为它们在目标类中不存在。

您是否真的尝试过运行代码?如果它不起作用,请你发布错误或例外的详细信息。

您还需要像这样定义基本地图:

 Mapper.CreateMap<Content, AboutViewModel>();
 Mapper.CreateMap<AboutViewModel, Content>();

在调用ConvertToAboutViewModel

之前,请确保已运行上述代码