• 1、AutoMapper简单介绍


    官网:http://automapper.org/

    源码:https://github.com/AutoMapper/AutoMapper

    NUGET安装:

    PM> Install-Package AutoMapper

    AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DTO,一般用于ViewModel模式和跨 服务范畴。

    AutoMapper给用户提供了便捷的配置API,就像使用约定来完成自动映射那样。

    AutoMapper包含以下功能:

    平展、投影、配置验证、列表和数组、嵌套映射、自定义类型转换程序、自定义值转换程序 、自定义值格式程序 、Null值替换

    AutoMapper是一款单向映射器。

    这意味着它并没有内建映射对象支持来回写至原始源,除非用户在更新映射对象之后明确地创建逆向反射。

    这需要 通过设计完成,因为让DTO回写到,比方说:域模型或其他东西,就会更改它的持久性,同时人们也认为它是反模式的。在这种解决方案中,命令消息在双向映射 中往往是更好的选择。

    然而,在某些特定环境中,有人可能会为双向映射辩解,比如:非常简单的CRUD应用程序。一个支持双向映射的框架就是Glue。

    AutoMapper 解决什么需求

    话不多说,上代码,共有两个实体类

    class People
        {
            public string Name { get; set; }
            public int Age { get; set; }
          
        }
    class Person
        {
            public string Name { get; set; }
            public int Age { get; set; }
        }

    假设在项目中有此需求,将两个类的数据进行交换,我们通常的做法是

    static void Main(string[] args)
        {
           People p = new People() { Name = "text1", Age = 12 };
           Person person = new Person();
        
           person.Name = p.Name;
           person.Age = p.Age;
    ​
           Console.WriteLine(person.Name);
           Console.WriteLine(person.Age);
           Console.Read();
         }

    但是我们发现,这样费力不讨好,而且我们还发现,这两个类里面的属性其实是近似的,所以,AutoMapper就是为了应对这种情景

  • 相关阅读:
    《DSP using MATLAB》Problem 6.17
    一些老物件
    《DSP using MATLAB》Problem 6.16
    《DSP using MATLAB》Problem 6.15
    《DSP using MATLAB》Problem 6.14
    《DSP using MATLAB》Problem 6.13
    《DSP using MATLAB》Problem 6.12
    《DSP using MATLAB》Problem 6.11
    P1414 又是毕业季II
    Trie树
  • 原文地址:https://www.cnblogs.com/qzdd/p/12109867.html
Copyright © 2020-2023  润新知