添加另一个属性映射? (AutoMapper)

时间:2010-07-29 11:01:34

标签: asp.net asp.net-mvc automapper

你能

吗?
  Mapper.CreateMap<Foo, Bar>() 
        .ForMember(x => x.IsFoo, x => x.Ignore());

然后再添加排序的另一个映射

  .ForMember(x => x.IsBar, x => x.Ignore());

甚至更改旧的

  .ForMember(x => x.IsFor, x => x.MapFrom(z => z.IsBar));

?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

不,你不能。 AutoMapper中的映射仅在每个应用程序域中定义一次,最好是在应用程序初始化方法中。引自documentation

  

如果您使用的是静态Mapper   方法,配置只需要   每个AppDomain发生一次。这意味着   最好的地方   配置代码在应用程序中   启动,例如Global.asax文件   对于ASP.NET应用程序。通常情况下,   配置bootstrapper类   是在自己的班级,这个   bootstrapper类是从   启动方法。

答案 1 :(得分:1)

每次在映射

之前尝试调用Mapper.CreateMap<Foo, Bar>()