【Flattening】app
One of the common usages of object-object mapping is to take a complex object model and flatten it to a simpler model. ide
【類圖】spa
【Code】3d
CPU:code
public class CPU { public string ProducerName { get; set; } public string ModelName { get; set; } public double MainFrequency { get; set; } }
InternalMemory:blog
public class InternalMemory { public string ProducerName { get; set; } public string ModelName { get; set; } public double Size { get; set; } public double Frequency { get; set; } }
Monitor:get
public class Monitor { public string ProducerName { get; set; } public string ModelName { get; set; } public double Size { get; set; } }
Computer:string
public class Computer { public string Name { get; set; } public double Price { get; set; } public DateTime ProduceDate { get; set; } public CPU CPU { get; set; } public InternalMemory InternalMemory { get; set; } public Monitor Monitor { get; set; } }
Program:it
class Program { static void Main(string[] args) { Computer computer = new Computer() { Name = "聯想Y450", Price = 5199.00, ProduceDate = new DateTime(2009, 10, 10), CPU = new CPU() { MainFrequency = 2.2, ModelName = "Core T6600", ProducerName = "Intel" }, InternalMemory = new InternalMemory() { Frequency = 1333, ModelName = "DDR3", ProducerName = "爾必達", Size = 4.0 }, Monitor = new Monitor() { ProducerName = "LG", Size = 14.0 } }; AutoMapper.Mapper.CreateMap<Computer, ComputerMainInfo>(); ComputerMainInfo computerMainInfo = AutoMapper.Mapper.Map<Computer, ComputerMainInfo>(computer); Console.WriteLine(computerMainInfo.CPUModelName); Console.Read(); } }
AutoMapper自動根據名稱搜索完成映射,這就從複雜的Computer映射到簡化的ComputerMainInfo。event