AutoMapper的介绍与使用(一)

软件环境

  • vs2015
  • asp.net mvc 5
  • .NET Framework 4.5.2
  • AutoMapper 5.2.0.0

AutoMapper安装

新建asp.net mvc 项目 AutoMapperExample,此处应该都会用vs新建mvc项目了,不再讲解如何创建

,

点击 工具→NuGetB包管理器→管理解决方案的NuGet程序包,在弹出的界面中,选中 “浏览”,输入autoMapper,回车搜索,在搜索出的程序包中,选中第一个,然后安装

输出如下图所示,则表示安装AutoMapper成功

AutoMapper配置

使用静态全局mapper注册的话,应该放在应用程序启动的时候,即ASP.NET MVC的Global.asax文件的Application_Start()方法。

在程序中新建AutoMapper文件夹,用于存放对象映射的类,该文件夹下新建类AutoMapperConfig,该类处理所有的对象映射

该类主要处理对象的映射,即从一个对象转化到另一个对象

    public class AutoMapperConfig
    {
        public static void Config()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap<OrderDto, Order>();
                cfg.AddProfile<ExtendMapProfile>();
            });
        }

        public class ExtendMapProfile : Profile
        {
            protected override void Configure()
            {
                CreateMap<UserDto, User>();
            }
        }
    }

其中Order,OrderDto,User,UserDto为实体对象,此处不再细述,CreateMap<>为AutoMapper转化其中两个对象,此处后续会做详细描述,再增加新的对象转换时,均在此处进行CreateMag<source,dest>转换

在Global.asax文件的Application_Start()方法中执行该静态方法

        protected void Application_Start()
        {
            AutoMapperConfig.Config();

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }

至此,所有AutoMapper的配置全部配置完成

时间: 2024-09-27 04:39:25

AutoMapper的介绍与使用(一)的相关文章

AutoMapper的介绍与使用(二)

AutoMapper的匹配 1,智能匹配 AutoMapper能够自动识别和匹配大部分对象属性: 如果源类和目标类的属性名称相同,直接匹配,不区分大小写 目标类型的CustomerName可以匹配源类型的Customer.Name 目标类型的Total可以匹配源类型的GetTotal()方法 2,自定义匹配 Mapper.CreateMap<CalendarEvent, CalendarEventForm>()                                          

1.AutoMapper简单介绍

官网:http://automapper.org/ 源码:https://github.com/AutoMapper/AutoMapper NUGET安装: PM> Install-Package AutoMapper AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DTO,一般用于ViewModel模式和跨 服务范畴. AutoMapper给用户提供了便捷的配置API,就像使用约定来完成自动映射那样. AutoMapper包含以下功能: 平展.投

ioc初步理解(二) 简单实用autofac搭建mvc三层+automapper=》ioc(codeFirst)

之前在园子闲逛的时候,发现许多关于automapper的文章,以及用aotufac+automapper合在一起用.当然发现大多数文章是将automapper的特点说出或将automapper几处关键代码放出.当然有过基础的人看这种文章没有什么问题,但是对于完全没有基础的小白来看完全是灾难级别的(我就是),经常按着博文一点一点的写,突然发现少了一部分导致代码无法运行.在搜索各种文章之后,终于用自己的理解写出了一个简单的运用automapper的demo,日后待我对automapper理解加深会进

第一章 使用方式

[敬请期待] 上一章:AutoMapper.RegExtension 介绍 下一章:第二章 核心实现解说 源码地址:https://github.com/xiexingen/AutoMapper.RegExtension [欢迎fork.欢迎star.欢迎watch]

对象映射工具AutoMapper介绍

AutoMapper是用来解决对象之间映射转换的类库.对于我们开发人员来说,写对象之间互相转换的代码是一件极其浪费生命的事情,AutoMapper能够帮助我们节省不少时间. 一. AutoMapper解决了什么问题? 要问AutoMapper解决了什么问题? 难道不是对象映射转换的问题吗? 当然是,不过我们可以问深入一些,为什么项目中会出现大量的对象映射转换?(以下对于非MVC项目也适用) 在现代的软件开发中,项目的层级更加的细分,而不同层级之间对于对象的需求是有区别的,这就需要在不同层级间传递

AutoMapper介绍(未完待续、部分没实现)

实体间转换工具.其实也可以用Json来实现同名属性.异名属性(用JsonProperty指明)的自动转换 最新版本6.11 需要使用vs2013以上.vs2012下载新版 nuget会遇到问题.只能旧版. 1 using AutoMapper; 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Web; 6 using System.Web.Mvc; 7 8 namesp

AutoMapper

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

应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较(转)

本文将介绍DDD分层架构中广泛使用的数据传输对象Dto,并且与领域实体Entity,查询实体QueryObject,视图实体ViewModel等几种实体进行比较. 领域实体为何不能一统江湖? 当你阅读我或其它博主提供的示例代码时,会发现几种类型的实体,这几种实体初步看上去区别不大,只是名称不同,特别在这些示例非常简单的情况下更是如此.你可能会疑惑为何要搞得这么复杂,采用一种实体不是更好? 在最理想的情况下,我们只想采用领域实体Entity进行所有的操作. 领域实体是领域层的核心,是业务逻辑的主要

&lt;&lt;ASP.NET Boilerplate 文档&gt;&gt; 1.1 介绍

介绍 一个快速示例 其它特性 启动模板 如何使用 介绍 我们总是对不同的需求开发不同的应用.但至少在某些层面上,一次又一次地重复实现通用的和类似的功能.如:授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审核日志等功能.所以我们创建架构和最佳实践,如分层和模块架构,DDD,依赖注入等,并尝试开发应用时基于一些约定. 由于所有这些是非常耗时而且很难单独创建并可适用于每个项目,许多公司创建自己的框架,他们用自己的框架能快速开发新应用而且不出错.但不是所有的公司都是幸运的,大部分公司没有