AutoMapper的简单使用
接触AutoMapper已经有两年多的时间了,AutoMapper足够轻量级,而且也非常流行,国外的大牛们都使用它。使用AutoMapper可以很方便的实现DTO和领域Model之间的转换,它是一个强大的Object-Object Mapping工具。在ORM框架中,它使持久层对象与DTO对象之间的转换变得相当简单。 随着负责的项目的增多,使用的技术框架一多起来,很多具体的技术点难免记不清, 加上同时兼做需求、研发、质量管控, 有时候写起代码来就感到很手生。 好脑袋不如烂笔头,如下,简单整理一下。
1. 安装AutoMapper
在vs的NuGet程序包控制台install AutoMapper。
2. 使用
AutoMapper是基于约定的,因此在实用映射之前,我们需要先进行映射规则的配置。
Mapper.CreateMap<BizDatOrders, AdjTotalBill>()
.ForMember(dto => dto.CreatedTime, opt => opt.Ignore())
.ForMember(dest => dest.Passenger, map => map.MapFrom(m => m.PsgName)) // 乘机人姓名
.ForMember(dest => dest.BookMan, (map) => map.MapFrom(m => m.BookAccount))
.ForMember(dest => dest.DistributorProfit, map => map.MapFrom(m => m.DisProfit))
.ForMember(dest => dest.PlatformProfit, map => map.MapFrom(m => m.CenProfit));// 预订人 var one = Mapper.Map<AdjTotalBill>(item);
3. 常见异常
如果Mapper使用不当,会出现如下异常:
Missing type map configuration or unsupported mapping. Mapping types:
CouponUsageDTO -> CouponUsage
Coupon.Domain.DTO.CouponUsageDTO -> Coupon.Domain.Entities.CouponUsage Destination path:
CouponUsage Source value:
Coupon.Domain.DTO.CouponUsageDTO
4. 关于NuGet的升级
NuGet 是 Visual Studio 的扩展工具,在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加、移除和更新引用的工作变得更加快捷方便。


AutoMapper的简单使用的更多相关文章
- OOM AutoMapper的简单实用
OOM AutoMapper的简单实用 一.前言: OOM顾名思义,Object-Object-Mapping实体间相互转换,AutoMapper也是个老生常谈了,其意义在于帮助你无需手动的转换简单 ...
- automapper的简单用法
AutoMapper对象转换方面(Object-Object Mapping)对象映射工具,实现对象和对象之间的转化.主要应用在项目的dto,model,entity或viewmodel之间转换,其实 ...
- AutoMapper使用简单总结
近期,在用AutoMapper整理一些模型对象映射,顺便小结一下使用的体会.难免有写得不对的地方,谢谢指出! 1. AutoMapper是一个.NET的对象映射工具,可以方便地进行对象间的赋值处理. ...
- C# AutoMapper的简单扩展
AutoMapper可以很方便的将一个实体的属性值转化给另一个对象.这个功能在我们日常的编码中经常会遇到.我将AutoMapper的一些基本映射功能做成扩展方法,在编码中更方便使用. using Sy ...
- AutoMapper 的简单使用
var config = new MapperConfiguration( cfg => cfg.CreateMap<SYS_Menu, MenuTreeNode>() .ForMe ...
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
ADO.NET 一.ADO.NET概要 ADO.NET是.NET框架中的重要组件,主要用于完成C#应用程序访问数据库 二.ADO.NET的组成 ①System.Data → DataTable, ...
- AutoMapper搬运工之自定义映射
回顾 上节说到了AutoMapper的简单使用,对于复杂的Mapping需要强大的自定义,这节我们来看下AutoMapper的自定义Mapping(Projection) 搬运自Git:https:/ ...
- AutoMapper搬运工之初探AutoMapper
写在前面 知道AutoMapper很久了,但是一直没有用,最近刚好有个场景需要就用了,果然是利器.看了git上的wiki,发现内容其实wiki上写的很全面了,深入的暂时还没挖掘到.不过和群里的朋友交流 ...
- AutoMapper用法(转载)
申明 本文转载自http://www.qeefee.com/article/automapper 作者:齐飞 配置AutoMapper映射规则 AutoMapper是基于约定的,因此在实用映射之前,我 ...
随机推荐
- 开发前准备 va2015安装
1.下载vs2015 2.进行安装(同时安装node.js.npm与Android SDK,会省很多时间) 安装的时候要选择自定义安装 如果先安装了Android SDK的话就不要勾选了,我就是勾选了 ...
- Unity 编辑器的 界面布局 保存方法
在软件界面的右上角(关闭按钮的下方),点击 layout (界面)的下拉箭头. 弹出选项中的 save layout....(保存界面选项),输入命名,就可以生成这个界面的布局. (软件本身也有 ...
- redis迁移工具-redis-migrate-tool使用测试
https://github.com/vipshop/redis-migrate-tool一.安装redis-migrate-tool a.下载redis-migrate-tool软件包 https: ...
- 【动态规划】bzoj1663 [Usaco2006 Open]赶集
http://blog.csdn.net/u011265346/article/details/44906469 #include<cstdio> #include<algorith ...
- 使用IConfigurationSectionHandler在web.config中增加自定义配置
一. 场景 这里仅举一个简单应用的例子,我希望在web.config里面增加网站的基本信息,如:网站名称,网站版本号,是否将网站暂时关闭等.二. 基本实现方法1. 定义配置节点对应的类:Site ...
- [spark案例学习] WEB日志分析
数据准备 数据下载:美国宇航局肯尼迪航天中心WEB日志 我们先来看看数据:首先将日志加载到RDD,并显示出前20行(默认). import sys import os log_file_path =' ...
- Xml生成节点声明
XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration declaration = xmlDoc.CreateXmlDeclaration(&qu ...
- JDK和环境配置
1. JASE : J2SE 这个就是我们现在在学的东西,他是一切Java的核心基础 JAME :J2ME : 他是Java的一个微型版,主要用来做移动开发 JAEE :J2EE Java企业版本,主 ...
- 3.一起来学hibernate之配置文件2
之前的映射文件配置都是简单的.基础的配置,只涉及到单个javabean,对于单个javabean的增删改查都能很好的.简单的去完成. 但是知道简单配置远远不够,并不能完成很多复杂的情况,比如对象与对象 ...
- kvm虚拟机--存储池配置梳理(转)
1.创建基于文件夹的存储池(目录) 2.定义存储池与其目录 1 # virsh pool-define-as vmdisk --type dir --target /data/vmfs 3.创建已定义 ...