zoukankan      html  css  js  c++  java
  • 【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。

  • 相关阅读:
    变量
    词频统计
    Python文件处理
    python面试题
    函数及组合数据类型
    位(bit)、字节(byte)、字符、编码之间的关系
    程序的控制结构
    Python:turtle库的使用及图形绘制
    Dynamics 365 CRM Connected Field Service 不能接收IoT Alert
    Dynamics 365 CRM 部署 Connected Field Service
  • 原文地址:https://www.cnblogs.com/fb-boy/p/3480602.html
Copyright © 2011-2022 走看看