简单的封装创建AutoMapper对象
public class MapperFactory
{
/// <summary>
/// 创建Mapper
/// </summary>
/// <param name="configure">配置信息</param>
/// <returns>Mapper对象</returns>
public static IMapper CreateMapper(Action<IMapperConfiguration> configure)
{
var config = new MapperConfiguration(configure);
var mapper = config.CreateMapper();
return mapper;
}
/// <summary>
/// 创建Mapper
/// </summary>
/// <param name="configure">配置信息</param>
/// <param name="mappers">节点信息</param>
/// <param name="typeMapObjectMappers">类型映射信息</param>
/// <returns>Mapper对象</returns>
public static IMapper CreateMapper(Action<IMapperConfiguration> configure, IEnumerable<IObjectMapper> mappers, IEnumerable<AutoMapper.Mappers.ITypeMapObjectMapper> typeMapObjectMappers)
{
var config = new MapperConfiguration(configure, mappers, typeMapObjectMappers);
var mapper = config.CreateMapper();
return mapper;
}
}
- 1.使用创建实例
var mapperResult = MapperFactory.CreateMapper(
cfg =>{
cfg.CreateMap<ItemInventory, ThirInventory>()
.ForMember(des => des.Quantity, source => source.MapFrom(suning => suning.ImsInventory))
.ForMember(des => des.OccupyQuantity, source => source.MapFrom(suning => suning.TmpLockQty))
.ForMember(des => des.StoreCode, source => source.MapFrom(suning => suning.WareHouseCode))
.ForMember(des => des.StoreName, source => source.MapFrom(suning => suning.WareHouseName))
.ForMember(des => des.DisplayQuantity, source => source.MapFrom(suning => suning.ImsInventory))
.ForMember(des => des.ScItemId, source => source.MapFrom(suning => suning.OuterItemId));
cfg.CreateMap<Result_GetSItemList, ThirItemList>();
}).Map<Result_GetItemList, ThirItemList>(result);