码迷,mamicode.com
首页 > 移动开发 > 详细

AutoMapper的简单使用

时间:2015-11-19 20:51:53      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

接触AutoMapper已经有两年多的时间了,在ORM框架中,它使持久层对象与DTO对象之间的转换变得相当简单。 随着负责的项目的增多,使用的技术框架一多起来,很多具体的技术点难免记不清, 加上同时兼做需求、研发、质量管控, 有时候写起代码来就感到很手生。 好脑袋不如烂笔头,如下,简单整理一下。

1. 安装AutoMapper

在vs的NuGet程序包控制台install AutoMapper。

2. 使用

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能把在项目中添加、移除和更新引用的工作变得更加快捷方便。

我vs2013的NuGet的版本是2.7,因为要装AutoMapper,要升级到2.8。升级方法:
1. vs2013里“工具”→“扩展和更新”里,在本机已安装里找到NuGet Package Manager(NuGet程序包管理器),卸载。
2. 在联机里,搜索NuGet,安装即可。
技术分享
(提示:貌似要在安装前先重启vs)
vs扩展产品见微软官网https://visualstudiogallery.msdn.microsoft.com/。 像ReShaper、TestCaseGenerator,都不错。
 
技术分享

AutoMapper的简单使用

标签:

原文地址:http://www.cnblogs.com/buguge/p/4978943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!