AutoMapper使用说明
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使用说明的更多相关文章
- 极简实用的Asp.NetCore模块化框架决定免费开源了
背景 在开发这个框架之前,前前后后看过好几款模块化的框架,最后在一段时间内对ABP VNext痛下狠心,研究一段时间后,不得不说 ABP VNext的代码层面很规范,也都是一些最佳实践,开发出一个模块 ...
- AutoMapper在ABP框架中的使用说明
为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该用它实战的时候了.今天,我们就来揭开AutoM ...
- AutoMapper在ABP框架
AutoMapper在ABP框架中的使用说明 为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该 ...
- 恋爱虽易,相处不易:当EntityFramework爱上AutoMapper
剧情开始 为何相爱? 相处的问题? 女人的伟大? 剧情收尾? 有时候相识即是一种缘分,相爱也不需要太多的理由,一个眼神足矣,当EntityFramework遇上AutoMapper,就是如此,恋爱虽易 ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(上)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- AutoMapper
什么是AutoMapper? AutoMapper是一个对象和对象间的映射器.对象与对象的映射是通过转变一种类型的输入对象为一种不同类型的输出对象工作的.让AutoMapper有意思的地方在于它提供了 ...
- AutoMapper随笔记
平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html#skill 先看效果:(完整Demo:https://git ...
- 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 ...
- AutoMapper的介绍与使用(一)
软件环境 vs2015 asp.net mvc 5 .NET Framework 4.5.2 AutoMapper 5.2.0.0 AutoMapper安装 新建asp.net mvc 项目 Auto ...
随机推荐
- 使用命令行编译as文件成swf
设置环境变量到flex sdk的目录下.如:D:\Program Files\Adobe Flash Builder 4.5\sdks\flex_sdk_4.6\bin 找到flex-config.x ...
- Linux学习 -- 服务管理
1 服务分类 服务管理内容 启动 自启动 查询已安装的服务 RPM包安装的服务 自启动的 chkconfig --list 2345中如果是启用,代表下次开机会自启动 正在运行的服务 p ...
- 使用libvirt做适配的kvm虚拟机window server 2008 磁盘性能的提升
实验室自己做了一个iaas的项目,当时是为了更方面的在kvm和xen下进行迁移,所以选择了libvirt作为适配层. 昨天简单的测试一了一下我们跟qingcloud的性能对比.我们的linux主机性能 ...
- HDU 5722 Jewelry
矩形面积并. 需要转化一下思路:记录每一个位置的数以及位置. 对数字进行从小到大排序,数字一样的按位置从小到大排. 这样,一样的数就在一起了.连续的相同的x个数就可以构成很多解,这些解对应于二维平面上 ...
- mybatis generator Date类型时间丢失
开篇 本次项目换用了Oracle数据库,讲真,真的不好用,不太喜欢,比较喜欢轻量级的MySQL但是不得不说从Oracle的严谨中学到不少好东西. <resultMap id="Base ...
- debug经验汇总
(1)使用pstack (2)调试core文件 # gdb ./segment core (3)使用strace strace -tt -f -s 1234 -o /tmp/strace.cwc -p ...
- listview去掉条目间的分割线
未去掉前: 去掉后: java代码可以这么写: 1 listView.setDivider(null);//去掉条目间的分割线 PS:ListView的几个常用操作 listView ...
- jquery页面滑到底部加载更多
$(window).scroll(function(){ var _scrolltop = $('body').scrollTop();if(_scrolltop+_winHeight>_doc ...
- 转:sqlplus与shell互相传值的几种情况
sqlplus与shell互相传值的几种情况 情况一:在shell中最简单的调用sqlplus $cat test.sh #!/bin/sh sqlplus oracle/oracle@oracle& ...
- Vacations
Vacations Vasya has n days of vacations! So he decided to improve his IT skills and do sport. Vasya ...