AutoMapper使用

时间:2023-03-09 20:53:49
AutoMapper使用

1.安装

现在AutoMapper已经更新到5.0版本了,可查看 http://www.nuget.org/packages/AutoMapper/

我环境是4.0的,nuget安装 http://www.nuget.org/packages/AutoMapper/3.2.1

命令:Install-Package AutoMapper -Version 3.2.1

2.简单示例

FileModel model = new FileModel();
FileEntity file = Mapper.DynamicMap<FileEntity>(model);

 3.简介

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

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

AutoMapper包含以下功能:

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

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

通过设计完成,因为让DTO回写到,比方说:域模型或其他东西,就会更改它的持久性,同时人们也认为它是反模式的。在这种解决方案中,命令消息在双向映射
中往往是更好的选择。然而,在某些特定环境中,有人可能会为双向映射辩解,比如:非常简单的CRUD应用程序。一个支持双向映射的框架就是Glue。

常见几种使用场景:

  • 对外服务接口,把逻辑层的实体转换成服务消费者需要的字段。

  • UI展现层,把业务对象转换成UI需要展现的字段。

  • 用户的输入输出,把DTO与领域模型互转。

参考文章:

http://www.cnblogs.com/mushroom/p/4291975.html

http://www.cnblogs.com/youring2/p/automapper.html

http://www.cnblogs.com/1-2-3/p/AutoMapper-Best-Practice.html