AutoMapper之嵌套映射
8.嵌套映射
嵌套映射就是一个类中包含有另一个类,这种情况下我们应该如何映射呢?

/// <summary>
/// 源对象
/// </summary>
public class OuterSource
{
public int Value { get; set; }
public InnerSource Inner { get; set; }
}
/// <summary>
/// 源嵌套对象
/// </summary>
public class InnerSource
{
public int OtherValue { get; set; }
}
/// <summary>
/// 目标对象
/// </summary>
public class OuterDest
{
public int Value { get; set; }
public InnerDest Inner { get; set; }
}
/// <summary>
/// 目标嵌套对象
/// </summary>
public class InnerDest
{
public int OtherValue { get; set; }
}
/// <summary>
/// 嵌套映射测试类型
/// </summary>
[TestClass]
public class NestedMapping
{
[TestMethod]
public void NestedMappingTest()
{
//初始化
Mapper.Initialize(cfg => {
//指定外部类映射
cfg.CreateMap<OuterSource, OuterDest>();
//指定内部类映射
cfg.CreateMap<InnerSource, InnerDest>();
});
var src = new OuterSource
{
Value = 1,
Inner = new InnerSource { OtherValue =2}
};
OuterDest dest = Mapper.Map<OuterSource, OuterDest>(src);
//验证结果
Assert.AreEqual(1, dest.Value); //测试通过
Assert.IsNotNull(dest.Inner); //测试通过
Assert.AreEqual(2, dest.Inner.OtherValue); //测试通过
}
}
嵌套映射就这么简单,和正常的映射一样,只要指定映射的源类型和目标类型即可。
示例代码
官方地址
AutoMapper之嵌套映射的更多相关文章
- 08.AutoMapper 之嵌套映射(Nested Mappings)
https://www.jianshu.com/p/013715d2352d 嵌套映射(Nested Mappings) 当映射引擎执行映射时,它可以使用各种方法之一来解析目标成员值.其中一种方法 ...
- ASP.NET CORE 中使用AutoMapper进行对象映射
ASP.NET CORE 中使用AutoMapper进行对象映射 1.什么是AutoMapper? AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DT ...
- ElasticSearch 嵌套映射和过滤器及查询
ElasticSearch - 嵌套映射和过滤器 Because nested objects are indexed as separate hidden documents, we can’t q ...
- ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射
本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义 ...
- AutoMapper 创建嵌套对象映射(原创)
之前在做DTO转换时,用到AutoMapper.但DTO的层次太深了,无奈官方没针对嵌套类型提供好的解决方案,于是自己实现了一下: 思路:采用递归和反射很好的避免手工创建嵌套对象的映射. 第一个版本, ...
- .NET CORE 中使用AutoMapper进行对象映射
简介 AutoMapper uses a fluent configuration API to define an object-object mapping strategy. AutoMappe ...
- AutoMapper,对象映射的简单使用
using AutoMapper; using AutoMapper.Configuration; using System; using System.Collections.Generic; us ...
- Automapper实现自动映射
出于安全考虑,在后台与前台进行数据传输时,往往不会直接传输实体模型,而是使用Dto(Data transfer object 数据传输对象),这样在后台往前台传递数据时可以省略不必要的信息,只保留必要 ...
- Automapper 实现自动映射
出于安全考虑,在后台与前台进行数据传输时,往往不会直接传输实体模型,而是使用Dto(Data transfer object 数据传输对象),这样在后台往前台传递数据时可以省略不必要的信息,只保留必要 ...
随机推荐
- FastReport报表设计
[转载]FastReport报表设计 (2012-10-24 20:37:26) 转载▼ 标签: 转载 原文地址:FastReport报表设计作者:小黑 FastReport报表设计 目录 5.1 ...
- PHP内存溢出Allowed memory size of 解决办法
PHP内存溢出Allowed memory size of 解决办法 博客分类: php ============================Allowed memory size of x ...
- caffe 训练imagenet
1.整理得到自己的数据库,并生成自己数据库的列表文件.txt 2.将数据库转成lmbp格式 3.计算图像均值 4.修改网络参数 5.得到结果 1.整理得到自己的数据库 因为前面博文提到的原因,技术水平 ...
- 如何获取SQL中Print语句输出内容
SqlConnection cn = new SqlConnection("server=my\\my2005;database=rdwhdata2005;user id=zjh;passw ...
- .net图表之ECharts随笔02-字符云
后续每一类图表,若无特殊说明,都将建立在01的基础上,修改参数option,且参数均以json的格式 要形成如图所示的字符云,一般需要设置两个大参数——title和series 其中,title就是图 ...
- 关于ASP.NET MVC4在IIS6中不认识安卓移动设备的解决办法
在IIS7中发现安卓的手机浏览器是可以跳转滴. 项目中是采用***.mobile.cshtml来显示移动视图的. 部署到IIS6.0中发现并没有转到*.mobile.cshtml移动视图. 进过漫长的 ...
- .NetCore WebApi + Vue +MySql搭建博客
因为我是一直写C#的,所以最近闲暇时间一直在学习.NET Core,该博客的后端使用的就是.NET Core WebApi然后加前端Vue. 首先后端.NET Core搭的框架是一个仓储层+服务层+A ...
- CSS3盒子模型(上)
CSS的盒子模型分为三个大模块: 盒子模型 . 浮动 . 定位,其余的都是细节.要求这三部分,只要是学前端的无论如何也要学的非常精通. 所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就 ...
- nginx官方文档 之 http负载均衡 学习笔记
一.负载均衡 算法 大致可以分两类: (1)不能保证用户的每一次请求都通过负载均衡到达同一服务器. (2)可保证用户的每一次请求都通过负载均衡到达同一服务器. 第二类的应用场景: 1.如果服务器有缓存 ...
- centos 安装nginx笔记
添加nginx 存储库 yum install epel-release 安装 yum install nginx 启动 systemctl start nginx