• 【AutoMapper基础】简单示例--Flattening


    【Flattening】

    One of the common usages of object-object mapping is to take a complex object model and flatten it to a simpler model. 

    【类图】

    【Code】

    CPU:

    public class CPU
        {
            public string ProducerName { get; set; }
            public string ModelName { get; set; }
            public double MainFrequency { get; set; }
        }
    View Code

    InternalMemory:

    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:

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

    Computer:

    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:

    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。

  • 相关阅读:
    搭建james邮件服务器
    Spring -- AOP
    【RF库Collections测试】List Should Not Contain Duplicates
    【RF库Collections测试】Keep In Dictionary
    【RF库Collections测试】Insert Into List
    【RF库Collections测试】Get Index From List
    【RF库Collections测试】Get From List
    【RF库Collections测试】Count Values In List
    【RF库Collections测试】Get Slice From List
    【RF库Collections测试】Copy Dictionary
  • 原文地址:https://www.cnblogs.com/fb-boy/p/3480602.html
Copyright © 2020-2023  润新知