平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html#skill
先看效果:(完整Demo:https://github.com/dunitian/LoTCodeBase/tree/master/NetCode/3.常用技能/05.AutoMapper)
原来是这么干的:
有了AutoMapper是这么干的:
————————————————————
1.AutoMapper初始化
2.配置文件
3.对象映射配置(ConstructUsing 和 ForMember 用的比较多)
扩展类:
完整Demo:https://github.com/dunitian/LoTCodeBase/tree/master/NetCode/3.常用技能/05.AutoMapper
把扩展类贴一下吧:
/// <summary> /// AutoMapper扩展类 /// </summary> public static class AutoMapperExt { #region 由AutoMapper创建目标对象 /// <summary> /// 类型映射-由AutoMapper创建目标对象 /// </summary> public static T MapTo<T>(this object obj) { if (obj == null) return default(T); return Mapper.Map<T>(obj); } /// <summary> /// 集合列表类型映射-由AutoMapper创建目标对象 /// </summary> public static IEnumerable<TDestination> MapToList<TDestination>(this IEnumerable source) { if (source == null) return new List<TDestination>(); return Mapper.Map<IEnumerable<TDestination>>(source); } #endregion #region 把源对象中的属性值合并/覆盖到目标对象 /// <summary> /// 类型映射-把源对象中的属性值合并/覆盖到目标对象 /// </summary> public static TDestination MapTo<TSource, TDestination>(this TSource source, TDestination destination) where TSource : class where TDestination : class { if (source == null) return destination; return Mapper.Map(source, destination); } /// <summary> /// 集合列表类型映射-把源对象中的属性值合并/覆盖到目标对象 /// </summary> public static IEnumerable<TDestination> MapToList<TSource, TDestination>(this IEnumerable<TSource> source, IEnumerable<TDestination> destination) { return Mapper.Map(source, destination); } #endregion #region DataReader映射 /// <summary> /// DataReader映射 /// </summary> public static IEnumerable<T> DataReaderMapTo<T>(this System.Data.IDataReader reader) { Mapper.Initialize(cfg => cfg.CreateMap<System.Data.IDataReader, IEnumerable<T>>()); return Mapper.Map<System.Data.IDataReader, IEnumerable<T>>(reader); } #endregion }
作者:
毒逆天
打赏:
18i4JpL6g54yAPAefdtgqwRrZ43YJwAV5z
本文版权归作者和博客园共有。欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接!