什么是AutoMapper?

简单来说就是将一个对象映射到另一个对象的代码。 摆脱了繁琐的赋值过程 (最常见也就是Model -——ViewModel)

AutoMapper安装

我使用的是VS2015   可以在NuGet中直接输入AutoMapper 去下载

也可以使用控制台命令

PM> Install-Package AutoMapper

这里我定义了两个类   ShopingInfo         ShopingInfoViewModel

 public class ShopingInfo:EntityBase{public string ShopingName { get; set; }public int ShopingCount { get; set; }public decimal ShopingPric { get; set; }public int Stock { get; set; }public int Volumeofvolume { get; set; }public int ShopingTypeId { get; set; }public virtual ShopingType ShopingType { get; set; }}

    public class ShopingInfoViewModel{public int ID { get; set; }public string ShopingName { get; set; }public int ShopingCount { get; set; }public decimal ShopingPric { get; set; }public int Stock { get; set; }public int Volumeofvolume { get; set; }public string ShopingTypeName { get; set; }}

需要用到的命名空间

using AutoMapper;

然后 专门建了一个类用来存放这些映射关系SourceProfile 并且继承了 Profile

    public class SourceProfile : Profile{public SourceProfile(){base.CreateMap<ShopingInfo, ShopingInfoViewModel>();}}

如果 我们发现两类中有字段名不一致。

例如 我吧shopingInfoViewModel 中的 ShopingName  改为  Name    那你可以这样写

 public class SourceProfile : Profile{public SourceProfile(){base.CreateMap<ShopingInfo, ShopingInfoViewModel>();// base.CreateMap<ShopingInfo, ShopingInfoViewModel>().ForMember(x => x.Name,//      q => { q.MapFrom(z => z.ShopingName);//  });
        }}

建了个中间类 用来封装上面的代码

  public class AutoMapper{public static void Start(){Mapper.Initialize(x =>{x.AddProfile<SourceProfile>();});}}

然后就在全局类Global中 使得 启动初始化就去加载 加入下面这句代码

AutoMapper.Start();

好了。 基本的都搞好了。 现在测试一下

可以 看到 已经映射上去了。 

学习不能停下。 每天学习点。 会使自己变得越有价值

转载于:https://www.cnblogs.com/zixuan9527/p/8876393.html

C# AutoMapper 了解一下相关推荐

  1. [AutoMapper]反射自动注册AutoMapper Profile

    AutoMapper 帮我我们方便管理物件跟物件之间属性值格式转换 模型转换 这里有两个类别 UserInfoModel 当作我们从DB捞取出来模型资料 public class UserInfoMo ...

  2. AutoMapper用法

    AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 作者:齐飞 原文:http://www.qeefee.com/article/auto ...

  3. java automapper 使用_19.AutoMapper 之开放式泛型(Open Generics)

    开放式泛型(Open Generics) AutoMapper可以支持开放式泛型的映射.为开放式泛型创建映射: public class Source { public T Value { get; ...

  4. C# AutoMapper的简单扩展

    AutoMapper可以很方便的将一个实体的属性值转化给另一个对象.这个功能在我们日常的编码中经常会遇到.我将AutoMapper的一些基本映射功能做成扩展方法,在编码中更方便使用. using Sy ...

  5. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](三)

    前言 上一篇<一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](二)>我们通过如下操作: 创建实体及工具类 创建Re ...

  6. automapper java 有什么_对象映射工具AutoMapper介绍

    AutoMapper是用来解决对象之间映射转换的类库.对于我们开发人员来说,写对象之间互相转换的代码是一件极其浪费生命的事情,AutoMapper能够帮助我们节省不少时间. 一. AutoMapper ...

  7. automapper

    1.https://www.cnblogs.com/youring2/p/automapper.html 这个讲知识点, 理解automapper 的 概念. 解释的不错,但是有些技术已经过时了,即已 ...

  8. AutoMapper 入门

    简述 开篇,介绍一下AutoMapper,欢迎. AutoMapper是什么:通过预先配置,将两个不同类型的对象进行转换的工具. AutoMapper干什么用:更方便的转换两个不同类型的对象. Aut ...

  9. C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用

    前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...

  10. AutoMapper入门使用

    AutoMapper入门使用 在应用开发的过程中,首先要了解整个系统中各个系统的组件的作用,然后了解系统的工作流(workflow),最后需要梳理一遍数据流(dataflow),而在整理数据流的过程中 ...

最新文章

  1. sql join on 多表连接_阿里规范不建议多表Join,可这SQL要怎么写啊?
  2. sublime配置c++环境
  3. 我要回家软件_超4成受访网友认可候补购票:抢票软件难了,还是12306靠谱
  4. ACM算法--枚举方法(指数枚举,组合枚举)模板
  5. 潍职e校帮APP功能简介
  6. ie11不兼容 html编辑器,ie11兼容性视图护驾浏览网页
  7. 线程也不是越多越好,多少是好?
  8. 清华大学自主研究的计算机,清华大学人工智能研究院成立基础理论研究中心,朱军教授任中心主任...
  9. BroadLeaf项目搜索功能改进
  10. 【笔记】Python算法教程(1)
  11. 如何获取HanLP的nature中文名
  12. 游戏编辑器制作(7)
  13. matlab 图像退化,数字图像退化与复原系统设计doc完整版(MATLAB).doc
  14. 发票认证系统服务器调用失败,发票认证平台登录显示不成功怎么办
  15. 我的世界java版地图结构_我的世界地图种子竟然有42亿个 那些神奇的建筑都是怎么生成的...
  16. 【android系统】android系统升级流程分析(二)---update升级包分析
  17. 我学《数据结构与算法》 20155314刘子健
  18. 香港大学尹国圣教授:统计学家眼中的医学AI丨CCF-GAIR 2019
  19. dp hdu-4433 locker
  20. 计算机电缆的屏蔽,计算机屏蔽电缆 DJYVRP计算机电缆

热门文章

  1. BUUCTF笔记之Misc系列部分WriteUp(二)
  2. 转 大数据量下载解决方案
  3. echarts markPoint 柱形图中添加图片
  4. 菜鸟实现 PHP 二阶、三阶行列式计算和矩阵运算的加、减、乘
  5. 完成全球90万人工智能集装箱箱况残损检验,集装箱人工智能垂直领域领军者,中集集团人工智能企业中集飞瞳领跑全球港口航运人工智能AI
  6. 时序逻辑电路总结【一】触发器
  7. 浅析Volatility内存取证
  8. found duplicated code in this file
  9. libxml2 安装使用
  10. Hi3516全系统类型烧录教程