AutoMapper 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
AutoMapper 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
AutoMapper 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
AutoMapper 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
AutoMapper 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 .NET
操作系统 Windows
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2010-03-01

软件简介

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

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

AutoMapper包含以下功能:

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

AutoMapper是一款单向映射器。这意味着它并没有内建映射对象支持来回写至原始源,除非用户在更新映射对象之后明确地创建逆向反射。这需要 通过设计完成,因为让DTO回写到,比方说:域模型或其他东西,就会更改它的持久性,同时人们也认为它是反模式的。在这种解决方案中,命令消息在双向映射 中往往是更好的选择。然而,在某些特定环境中,有人可能会为双向映射辩解,比如:非常简单的CRUD应用程序。一个支持双向映射的框架就是Glue。

展开阅读全文

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2019/04/04 11:20

Automapper

一、AutoMapper 说明:Automapper是一个object-object mapping(对象映射)工具,一般主要用于两个对象之间数据映射和交换。 二、安装程序集包 1、程序包管理控制台方式 Install-Package AutoMapper 2、Nuget方式 三、实体映射 1、两个实体之间的映射 using AutoMapper; using System; namespace ConsoleApp1 { class Program { public class Source { public int Id { get; s...

0
0
2014/06/13 10:28

AutoMapper

1、简单入门使用介绍 2、实际应用 (1)添加文件并引入程序集 在App_Start中添加配置文件 (2)配置 在这里将所有的配置都配置在这里,包含ui-bll-dao各层之间的转换 namespace PCITC.MES.EAM.UI.App_Start {     public class MapperConfig     {         public static void RegisterMappers()         {             Mapper.Reset();             Mapper.Initialize(cfg...

3
1
发表了博客
2018/07/06 11:01

AutoMapper的使用

一、为什么要用AutoMapper   AutoMapper是一个 对象 - 对象映射器 。对象 - 对象映射的工作原理是将一种类型的输入对象转换为另一种类型的输出对象。   一个项目分多层架构,如UI层、业务逻辑层、服务层、数据访问层。层与层访问需要数据载体,也就是类。如果多层通用一个类,一则会暴露出每层的字段,二者会使类字段很多,而且会出现很多冗余字段,这种方式是不可取的;如果每层都使用不同的类,则层与层调用时,一个字段一...

0
0
发表了博客
2018/01/10 12:32

AutoMapper简介

先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已。 为什么要用DTO? 1、DTO更注重数据,对领域对象进行合理封装,从而不会将领域对象的行为过分暴露给表现层 2、DTO是面向UI的需求而设计的,而领域模型是面向业务而设计的。因此DTO更适合于和表现层的交互,通过DTO我们实现了表现层与领域Model之间的解耦,因此改动领域Model不会影响UI层 3、DTO说白了就...

0
0
发表了博客
2018/05/02 10:03

How to use AutoMapper

http://docs.automapper.org/en/stable/Getting-started.html IMappingExpression<TSource, TDestination> CreateMap<TSource, TDestination>(MemberList memberList); Mapper.Initialize(cfg => cfg.CreateMap<Order, OrderDto>()); //or var config = new MapperConfiguration(cfg => cfg.CreateMap<Order, OrderDto>()); IMappingExpression<TSource, TDestination> ForMember<TMember>(Expression<Func<TDestination, TMemb...

0
0
发表了博客
2018/07/02 13:34

.NetCore 使用AutoMapper

添加引用 AutoMapper AutoMapper.Extensions.Microsoft.DependencyInjection 注册服务 services.AddAutoMapper(); 配置映射 services.AddAutoMapper(); 中DI了AutoMapper中需要用到的服务,其中包括AutoMapper的配置类 Profile 那么怎么来使用这个Profile,只需要自定义一个类 继承 Profile 即可,在构造函数中配置下映射关系 public class CustomMapping : Profile { public CustomMapping() { ...

0
0
2020/05/03 08:10

AutoMapper 使用实践

一. 使用意图 常常在开发过程中,碰到一个实体上的属性值,要赋值给另外一个相类似实体属性时,且属性有很多的情况。一般不利用工具的话,就要实例化被赋值实体B,然后再将实体A的字段一个个赋值给B的属性,单单写这些没有技术含量的赋值语句,就要用很大的代码篇幅。假如做得好一点的话,一般就是利用反射的方式,将A属性赋值给B,当然用反射的话,要顺利将A的属性,赋值B的属性,这样确实能够减少代码篇幅,那就要有一些约束或...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
15 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部