一,如下例子:

using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace AutoMapper2
{
class Program
{
static void Main(string[] args)
{
//实体属性完全一致映射
Test.InitAutoMapper<ProductDto, Product>();
ProductDto userDto = new ProductDto()
{
Name = "实体映射",
Num = ,
};
//实体间的映射不区分大小写
var o = Mapper.Map<ProductDto, Product>(userDto);
var t = Mapper.Map<Product, ProductDto3>(o); //当属性命名大小写不一致时
Test.InitAutoMapper<ProductDto3, Product>();
ProductDto3 userDto3 = new ProductDto3()
{
Id = ,
Name = "实体映射",
Num = ,
Price =
};
//实体间的映射不区分大小写
var oDomain = Mapper.Map<ProductDto3, Product>(userDto3);
var te = Mapper.Map<Product, ProductDto3>(oDomain); //有DTO模式到聚合根的转换
ProductDto2 userDto2 = new ProductDto2()
{
Name2 = "实体映射",
Num2 = ,
Address = "XXX"
};
var map = Mapper.CreateMap<ProductDto2, Product>()
.ForMember(d => d.Name, opt => opt.MapFrom(x => x.Name2))
.ForMember(d => d.adress.Name, opt => opt.MapFrom(x => x.Address)); var tt = Mapper.Map<ProductDto2, Product>(userDto2); }
}
public class Test
{
public static void InitAutoMapper<DtoModel, DomainModel>()
{
var oType = Mapper.FindTypeMapFor<DtoModel, DomainModel>();
if (oType == null)
{
Mapper.CreateMap<DtoModel, DomainModel>();
Mapper.CreateMap<DomainModel, DtoModel>();
}
}
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int Num { get; set; }
public int Price { get; set; }
public Adress adress { get; set; } } public class Adress
{
public string Name { get; set; }
}
public class ProductDto
{
public string Name { get; set; }
public int Num { get; set; }
}
public class ProductDto2
{
public string Name2 { get; set; }
public int Num2 { get; set; } public string Address { get; set; }
}
public class ProductDto3
{
public int Id { get; set; }
public string Name { get; set; }
public int Num { get; set; }
public int Price { get; set; }
}
}

最新文章

  1. 网站建设用的HTTP状态码
  2. Javascript模板引擎:Hogan
  3. 【EF 译文系列】模型和数据库连接
  4. Completely disable mousewheel on a WinForm
  5. 创建表 添加主键 添加列常用SQL语句
  6. 九度oj 1407 快速找出最小数
  7. c# datatable list 相互转换
  8. HDU 3467 (求五个圆相交面积) Song of the Siren
  9. Django新手图文教程
  10. java文件io过滤器
  11. Koa -- 基于 Node.js 平台的下一代 web 开发框架
  12. getline函数(精华版)
  13. Java虚拟机结构
  14. 【uWSGI】实战之Django配置经验
  15. SQLI LABS Challenges Part(54-65) WriteUp
  16. JS 获取最近(前)7天(一周内)和最近(前)3天日期
  17. Magic Stones CodeForces - 1110E (思维+差分)
  18. Apollo 框架的剖析1
  19. TZOJ:最大连续子序列
  20. RocketMq --consumer自动实现负载均衡

热门文章

  1. BJSV-P-003高清智能卡口系统
  2. 在Linux服务器上运行jar包,并且使jar包一直处于后台执行
  3. python如何简单的处理图片(1):打开\显示
  4. java中的进制转换以及字符串类和数值类的相互转化
  5. Es学习第十课,ElasticSearch集群搭建
  6. mysql隔离级别相关
  7. windows汇编语言开发环境搭建
  8. Workflow:Workflow 百科
  9. sql查询某个时间内的数据
  10. VSphere随笔 - vCenter6.5安装配置手册