using AutoMapper; namespace IRaCIS.Core.Application.Contracts.AutoMapper { public class AutoMapperConfig { public static void Config() { //Mapper.Initialize(cfg => //{ // cfg.AddProfile(); // cfg.AddProfile(new ViewModelToDomainMappingProfile()); // cfg.AddProfile(new LogicChangeMappingProfile()); // cfg.ForAllMaps((a, b) => b.ForAllMembers(opt => opt.Condition((src, dest, sourceMember) => sourceMember != null))); //}); } public static MapperConfiguration RegisterMappings() { //创建AutoMapperConfiguration, 提供静态方法Configure,一次加载所有层中Profile定义 //MapperConfiguration实例可以静态存储在一个静态字段中,也可以存储在一个依赖注入容器中。 一旦创建,不能更改/修改。 return new MapperConfiguration(cfg => { cfg.AddProfile(); cfg.AddProfile(new ViewModelToDomainMappingProfile()); cfg.AddProfile(new LogicChangeMappingProfile()); cfg.ForAllMaps((a, b) => b.ForAllMembers(opt => opt.Condition((src, dest, sourceMember) => sourceMember != null))); }); } } }