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));
?如果是这样,怎么样?
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));
?如果是这样,怎么样?
不,你不能。 AutoMapper中的映射仅在每个应用程序域中定义一次,最好在您的应用程序初始化方法中定义。从documentation报价:
如果你使用静态映射 方法,配置只需要 每个AppDomain发生一次。这意味着 配置代码 配置代码的最佳位置是在应用程序 启动时,例如用于ASP.NET应用程序的Global.asax文件 。通常, 配置引导程序类 处于其自己的类中,并且此 引导程序类是从 启动方法调用的。
尝试调用每次Mapper.CreateMap<Foo, Bar>()
mappping