随笔分类 - AutoMapper
实体和Dto间的自动映射器
摘要:近日在做项目的时候,遇到了个怪问题,关于AutoMapper的细节问题,也是不为一般人所关注的。本人研究AutoMapper也没有多长时间,而且研究的过程中也写了关于AutoMapper的系列基础教程,但是毕竟AutoMapper是个开源项目,并不是一个简单的系列教程就能解释的清楚的,只能解释个大概...
阅读全文
摘要:为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里。既然系统地学习了AutoMapper,那么接下来就是该用它实战的时候了。今天,我们就来揭开AutoMapper如何在ABP框架中使用的面纱。 因为这里演示的是用ABP框架搭建的项目,本博客的讲解的前提是假设你有了ABP基础,所以,如果您还不了解ABP框架,请查看我的ABP框架的系列博客,请点击这里。...
阅读全文
摘要:返回总目录 Null值替换 如果源类型的成员链上的属性值为Null,Null值替换允许提供一个可替换的值。下面有两个类Person和PersonInfo类,都有一个属性Title(头衔),从Person映射到PersonInfo,如果Person的属性没有赋值,那么PersonInfo的对应属性值就用“屌丝”来替换。 namespace SeventhAutoMapper { clas...
阅读全文
摘要:返回总目录 List和数组 AutoMapper只要求元素类型的配置而不要求可能会用到的任何数组或者list类型。比如,我们有一个简单的源和目标类型: public class Source { public int Value { get; set; } } public class Destination { public int Value { get; set; }...
阅读全文
摘要:返回总目录Dynamic和ExpandoObject映射AutoMapper不用任何配置就可以从dynamic(动态)对象映射或映射到dynamic对象。namespace FifthAutoMapper{ //定义一个Person类 public class Person { ...
阅读全文
摘要:返回总目录自定义值解析虽然AutoMapper覆盖了相当一部分目标成员的映射场景,但是还有 1-5%的目标值需要解析处理一下。很多时候,自定义的值解析是可以放在领域层的领域逻辑。然而,如果该逻辑只是和映射操作有关的话,那它就会应为一些不必要的行为使得源类型很凌乱。这种场合,AutoMapper允许我...
阅读全文
摘要:返回总目录自定义类型转换有时,需要完全控制一个类型到另一个类型的转换。一个类型一点都不像另一个类型,而且转换函数已经存在了,在这种情况下,你想要从一个“宽松”的类型转换成一个更强壮的类型,例如一个string的源类型到一个int32的目标类型。这里有两个类Source和Destination,要把前...
阅读全文
摘要:返回总目录首先,先创建一个控制台项目,引用AutoMapper程序集,创建三个类User,UserDto,UserMappingProfile,下面的知识点的演示都以此项目为基础,代码分别如下:namespace MiddleAutoMapper{ public class User {...
阅读全文
摘要:返回总目录映射前后操作偶尔有时候,在映射发生之前或之后,你可能需要执行一些自定义的逻辑。这可能是很少见的事情,因为在AutoMapper之外处理这些事情是更明显的。你可以创建一个映射前后的全局操作:Mapper.CreateMap() .BeforeMap((src, dest) => src...
阅读全文
摘要:什么是AutoMapper?AutoMapper是一个对象和对象间的映射器。对象与对象的映射是通过转变一种类型的输入对象为一种不同类型的输出对象工作的。让AutoMapper有意思的地方在于它提供了一些将类型A映射到类型B这种无聊的事情的有趣惯例。只要类型B遵守AutoMapper已经建立的惯例,大...
阅读全文