【AutoMapper基礎】簡單示例--Flattening

【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; }
    }
View Code

 

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; }
    }
View Code

 

Monitor:get

public class Monitor
    {
        public string ProducerName { get; set; }
        public string ModelName { get; set; }
        public double Size { get; set; }
    }
View Code

 

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; }
    }
View Code

 

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();
        }
    }
View Code

 

AutoMapper自動根據名稱搜索完成映射,這就從複雜的Computer映射到簡化的ComputerMainInfo。event

相關文章
相關標籤/搜索