C#小白使用AutoMapper 映射集合

C#使用AutoMapper 映射集合

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

核心代码点我

完整代码点我

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

错误:
C#小白使用AutoMapper 映射集合_第1张图片

正确的:
C#小白使用AutoMapper 映射集合_第2张图片

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

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

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

            //第一步初始化
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap();
            });
            //声明一个集合
            List worldAs = new List();
            //声明一个对象,并赋值
            WorldA world = new WorldA() { id = 1, wewe = 1.ToString() };
            //将对象加入集合内部
            worldAs.Add(world);
            //开始搬运
            var b = Mapper.Map, List>(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();
            });
            //声明一个集合
            List worldAs = new List();
            //声明一个对象,并赋值
            WorldA world = new WorldA() { id = 1, wewe = 1.ToString() };
            //将对象加入集合内部
            worldAs.Add(world);
            //开始搬运
            var b = Mapper.Map, List>(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; }
    }
}

C#小白使用AutoMapper 映射集合_第3张图片

C#小白使用AutoMapper 映射集合_第4张图片

C#小白使用AutoMapper 映射集合_第5张图片

你可能感兴趣的:(AutoMapper)