using AutoMapper; using AutoMapper.Configuration; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AutoMapperTest { class Program { static void Main(string[] args) { //传统方法,手动写好对应的映射关系 //Mapper.Initialize(p => p.CreateMap<Source, Destination>()); //下面的写法就不用一一指定映射关系了 Mapper.Initialize(new MapperConfigurationExpression { }); Source src = new Source() { SomeValue = 1, AnotherValue = "xxx", StringList = new List<string>() { "aa", "bb", "cc" }, IntList = new List<int>() { 2, 3, 4 }, StudentList = new List<Student>() { new Student() { Name = "jeff1", Age = 11 }, new Student() { Name = "jeff2", Age = 22 } } }; Destination dest = Mapper.Map<Destination>(src); Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(dest)); Console.ReadLine(); } } public class Source { public int SomeValue { get; set; } public string AnotherValue { get; set; } public List<string> StringList { get; set; } public List<int> IntList { get; set; } public List<Student> StudentList { get; set; } } public class Destination { public int SomeValue { get; set; } public string AnotherValue { get; set; } public List<string> StringList { get; set; } public List<int> IntList { get; set; } public List<Student> StudentList { get; set; } } public class Student { public string Name { get; set; } public int Age { get; set; } } }