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

    我vs2013的NuGet的版本是2.7,因为要装AutoMapper4.1,要升级到2.8。升级方法:
    1. vs2013里“工具”→“扩展和更新”里,在本机已安装里找到NuGet Package Manager(NuGet程序包管理器),卸载。
    2. 在联机里,搜索NuGet,安装即可。
    (提示:貌似要在安装前先重启vs)
    vs扩展产品见微软官网https://visualstudiogallery.msdn.microsoft.com/。 像ReShaper、TestCaseGenerator,都不错。
     
  • 相关阅读:
    HelloWorld入门代码
    Java语言概述
    程序的载入和运行(五)——《x86汇编语言:从实模式到保护模式》读书笔记25
    java cup占用高分析脚本
    插入排序+冒泡排序+选择排序
    浅谈图片载入的三级缓存(一)
    互联网广告的个性化推荐平台设计--相关知识
    Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can&#39;t find referenced class问题的解决方式
    计数排序
    《Getting Started with WebRTC》第二章 WebRTC技术介绍
  • 原文地址:https://www.cnblogs.com/buguge/p/4978943.html
Copyright © 2011-2022 走看看