C#小白使用AutoMapper 映射集合

版权声明:版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/qq_36051316/article/details/85158114

C#使用AutoMapper 映射集合

不想看下面废话就点下面两个链接

核心代码点我

完整代码点我

我们会遇到一些问题,就是关于List如此类集合如何map的情况,很多人会在初始化的时候写成这样子

错误:
错误的初始化

正确的:
正确的初始化

其实只需要初始化一个类合类之间的转换就行了无须继续考虑其他的那么Auto支持哪些 集合类的转换呢?
如下列表:

  • IEnumerable
  • IEnumerable
  • ICollection
  • ICollection
  • IList
  • IList
  • List
  • Arrays

核心代码 点我看图 : 完整代码点我

            //第一步初始化
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap<WorldA, WorldB>();
            });
            //声明一个集合
            List<WorldA> worldAs = new List<WorldA>();
            //声明一个对象,并赋值
            WorldA world = new WorldA() { id = 1, wewe = 1.ToString() };
            //将对象加入集合内部
            worldAs.Add(world);
            //开始搬运
            var b = Mapper.Map<List<WorldA>, List<WorldB>>(worldAs);
            //输出搬运后的值
            Console.WriteLine(b[0].id);

完整代码点我看图

using AutoMapper;
using System;
using System.Collections.Generic;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            //第一步初始化
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap<WorldA, WorldB>();
            });
            //声明一个集合
            List<WorldA> worldAs = new List<WorldA>();
            //声明一个对象,并赋值
            WorldA world = new WorldA() { id = 1, wewe = 1.ToString() };
            //将对象加入集合内部
            worldAs.Add(world);
            //开始搬运
            var b = Mapper.Map<List<WorldA>, List<WorldB>>(worldAs);
            //输出搬运后的值
            Console.WriteLine(b[0].id);
            Console.WriteLine("按任意键结束");
            Console.ReadKey();
        }
    }
    public class WorldA
    {
        public int id { get; set; }
        public string wewe { get; set; }
    }
    public class WorldB
    {
        public int id { get; set; }
        public string wewe { get; set; }
    }
}

核心代码图片

完整代码图

运行结果

猜你喜欢

转载自blog.csdn.net/qq_36051316/article/details/85158114
今日推荐