zoukankan      html  css  js  c++  java
  • AutoMapper随笔记

    平台之大势何人能挡? 带着你的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.对象映射配置(ConstructUsingForMember 用的比较多)

    扩展类:

    完整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
        }
    

      

  • 相关阅读:
    提取轮廓后的画图处理
    提取视频中的前景物体
    写入视频帧
    处理视频序列
    视频读写
    三维重建-相机标定
    图像拼接相关
    计算两幅图像之间的单应矩阵
    ransac算法(随机抽样一致性)
    图像间投影关系
  • 原文地址:https://www.cnblogs.com/dunitian/p/5606276.html
Copyright © 2011-2022 走看看