1.引用命名空间

using AutoMapper;
using AutoMapper.Mappers;

2.实体类和dto

 public class Order
{ public int orderid { get; set; }
public decimal amount { get; set; }
public string address { get; set; }
}
 public class OrderDto
{
public int orderid { get; set; }
public decimal amount { get; set; }
public string address { get; set; }
}

3.controller里的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using AutoMapper;
using AutoMapper.Mappers; using AutoMaperTest.Models.Entity;
using AutoMaperTest.Models.Dto; namespace AutoMaperTest.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index()
{
Mapper.CreateMap<Models.Entity.Order,Models.Dto.OrderDto>(); //初始化 Order o = new Order(){ orderid=,amount=,address="beijing" }; OrderDto od=Mapper.Map<OrderDto>(o); //开始映射
Response.Write("entity->dto:"+od.address); OrderDto odnew = new OrderDto { orderid=,amount=,address="china" }; Order onew = Mapper.Map<Order>(odnew); Response.Write("dto->entity:"+onew.address); List<Order> lt = new List<Order>();
lt.Add(o); List<OrderDto> ltod = new List<OrderDto>(); lt.Each(temp =>
{
ltod.Add(Mapper.Map<OrderDto>(temp)); }); Response.Write("</br>this is list<>映射:" + ltod[].address); return View();
} }
}

方法2:程序启动时 初始化映射

1.添加一个myprofile 类,让其继承:Profile  ,重写方法

protected override void Configure()
        {
            CreateMap<Models.Entity.Order, Models.Dto.OrderDto>(); //Tsource,Tdestin
            CreateMap<Models.Dto.OrderDto, Models.Entity.Order>();
        }

2.添加一个 Configuration 类

编写一个静态方法,以便在application_start  里 注册该方法

public static void ConfigureNew()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.AddProfile<Profiles.OrderProfile>();
            //   cfg.AddProfile<Profiles.OrderDtoProfile>();
              
            });
        }

在 global.ascx 里 注册   AutoMaperTest.AutoMaper.Configuration.ConfigureNew(); //初始化

参考:http://www.cnblogs.com/youring2/p/automapper.html

本例源代码下载

AutoMapper使用说明的更多相关文章

  1. 极简实用的Asp.NetCore模块化框架决定免费开源了

    背景 在开发这个框架之前,前前后后看过好几款模块化的框架,最后在一段时间内对ABP VNext痛下狠心,研究一段时间后,不得不说 ABP VNext的代码层面很规范,也都是一些最佳实践,开发出一个模块 ...

  2. AutoMapper在ABP框架中的使用说明

    为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该用它实战的时候了.今天,我们就来揭开AutoM ...

  3. AutoMapper在ABP框架

    AutoMapper在ABP框架中的使用说明 为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该 ...

  4. 恋爱虽易,相处不易:当EntityFramework爱上AutoMapper

    剧情开始 为何相爱? 相处的问题? 女人的伟大? 剧情收尾? 有时候相识即是一种缘分,相爱也不需要太多的理由,一个眼神足矣,当EntityFramework遇上AutoMapper,就是如此,恋爱虽易 ...

  5. 【AutoMapper官方文档】DTO与Domin Model相互转换(上)

    写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...

  6. AutoMapper

    什么是AutoMapper? AutoMapper是一个对象和对象间的映射器.对象与对象的映射是通过转变一种类型的输入对象为一种不同类型的输出对象工作的.让AutoMapper有意思的地方在于它提供了 ...

  7. AutoMapper随笔记

    平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html#skill 先看效果:(完整Demo:https://git ...

  8. AutoMapper:Unmapped members were found. Review the types and members below. Add a custom mapping expression, ignore, add a custom resolver, or modify the source/destination type

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 应用场景:ViewModel==>Mode映射的时候出错 AutoMappe ...

  9. AutoMapper的介绍与使用(一)

    软件环境 vs2015 asp.net mvc 5 .NET Framework 4.5.2 AutoMapper 5.2.0.0 AutoMapper安装 新建asp.net mvc 项目 Auto ...

随机推荐

  1. poj 2594 Treasure Exploration(最小路径覆盖,可重点)

    题意:选出最小路径覆盖图中所有点,路径可以交叉,也就是允许路径有重复的点. 分析:这个题的难点在于如何解决有重复点的问题-方法就是使用Floyd求闭包,就是把间接相连的点直接连上边,然后就是求最小路径 ...

  2. 常见的http状态码

    [200]请求已成功,请求所希望的响应头或数据体将随此响应返回. [301]被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有连结编辑功能 ...

  3. 转:WebDriver(Selenium2) 判断页面是否刷新的方法

    public static boolean waitPageRefresh(WebElement trigger) { int refreshTime = 0; boolean isRefresh = ...

  4. android webview处理下载内容

    url = "http://m.mumayi.com/"; WebView = (WebView) findViewById(R.id.webView1); WebView.get ...

  5. PHP资源类型

    在PHP中,我们经常使用到资源类型变量.例如:mysql连接.文件句柄等. 这些变量无法使用标量来表示,那么在Zend内核中是如何将PHP中的资源变量与C语言中的资源衔接的呢? 一.资源变量在PHP中 ...

  6. 监控redis进程,如果没有自动重启

    监控redis进程,如果没有自动重启 #Time:2016-01-22#Version:1.0 #Author:chh-huang #设置环境变量source /etc/profile#source ...

  7. hibernate分页查询的实现

    在mysql中新建数据好USER表,字段有3个,分别是id.username.password,贴上脚本仅供参考     create table `ding`.`user`(         `id ...

  8. Source

    转载自:http://blog.csdn.net/u014084081/article/details/44617707 Guide iOS Developer Library 教程 Ray Wend ...

  9. 制作windows镜像

    下载包含windows驱动的iso: http://222.186.58.77/virtio-win-0.1-30.iso?fid=kF46uzxlPMrgvLDErP0ohhZYwAUASLoCAA ...

  10. dotnet webservice处理数据量过大,ajax请求返回500错误解决方案

    ajax请求webservice返回json数据,数据规模过大时ajax请求会得到500的响应,webservice+ajax处理大规模的数据需要在web.config中进行如下配置: <sys ...