AutoMapper之投影
7.投影
AutoMapper有一种自定义映射,叫投影。接下来我们通过一个示例来了解它
7.1示例
//源对象
public class CalendarEvent
{public DateTime Date { get; set; }public string Title { get; set; }
}//目标对象
public class CalendarEventForm
{public DateTime EventDate { get; set; }public int EventHour { get; set; }public int EventMinute { get; set; }public string Title { get; set; }
}
映射说明:把日期拆开分别映射到不同字段
CalendarEvent中属性 | 说明 | CalendarEventForm的属性 |
---|---|---|
Date | Date中的年月日-> | EventDate |
Date | Date中小时-> | EventHour |
Date | Date中分钟-> | EventMinute |
[TestClass]
public class Projection
{[TestMethod]public void ProjectionTest(){var calendarEvent = new CalendarEvent{Date = new DateTime(2008, 12, 15, 20, 30, 0),Title = "Company Holiday Party"};// 初始化映射Mapper.Initialize(cfg =>cfg.CreateMap<CalendarEvent, CalendarEventForm>().ForMember(dest => dest.EventDate, opt => opt.MapFrom(src => src.Date.Date)).ForMember(dest => dest.EventHour, opt => opt.MapFrom(src => src.Date.Hour)).ForMember(dest => dest.EventMinute, opt => opt.MapFrom(src => src.Date.Minute)));CalendarEventForm form = Mapper.Map<CalendarEvent, CalendarEventForm>(calendarEvent);Assert.AreEqual(new DateTime(2008, 12, 15), form.EventDate); // 通过Assert.AreEqual(20, form.EventHour);// 通过Assert.AreEqual(30, form.EventMinute);// 通过Assert.AreEqual("Company Holiday Party", form.Title);// 通过}
}
转载于:https://www.cnblogs.com/wuyunblog/p/6662386.html
AutoMapper之投影相关推荐
- AutoMapper入门使用
AutoMapper入门使用 在应用开发的过程中,首先要了解整个系统中各个系统的组件的作用,然后了解系统的工作流(workflow),最后需要梳理一遍数据流(dataflow),而在整理数据流的过程中 ...
- 理解什么是DTO?什么是AutoMapper?
什么是DTO? .Net DTO是一个对象,它定义了数据如何在网络上发送.它只用于发送和接收数据,不包含任何业务逻辑.使用DTO的原因有以下几个: 将服务层与数据库层分离 隐藏客户端不需要查看的特定属 ...
- java automapper 使用_AutoMapper入门使用
AutoMapper入门使用 在应用开发的过程中,首先要了解整个系统中各个系统的组件的作用,然后了解系统的工作流(workflow),最后需要梳理一遍数据流(dataflow),而在整理数据流的过程中 ...
- java automapper 使用_AutoMapper 使用总结
初识AutoMapper 在开始本篇文章之前,先来思考一个问题:一个项目分多层架构,如显示层.业务逻辑层.服务层.数据访问层.层与层访问需要数据载体,也就是类.如果多层通用一个类,一则会暴露出每层的字 ...
- AutoMapper学习
http://automapper.org/ 这是一款DTO的映射工具,AutoMapper是基于对象到对象约定的映射工具,它可以把复杂的对象模型转为DTO,或者其他的–那些让设计更合理更适于序列化. ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(上)
[AutoMapper官方文档]DTO与Domin Model相互转换(上) 原文: [AutoMapper官方文档]DTO与Domin Model相互转换(上) 写在前面 AutoMapper目录: ...
- 光谱投影颜色感知器件与围栅多桥沟道晶体管技术
光谱投影颜色感知器件与围栅多桥沟道晶体管技术 一种基于光谱投影的颜色感知器件 光信号是宇宙空间中最重要的信息载体之一,人们对能探测光信号的器件(即光探测器)的研究由来已久.光探测器的应用涉及到国防军事 ...
- 各种经典透镜投影模型
各种经典透镜投影模型 Models for the various classical lens projections 鱼眼镜片与其他镜片同等重要 where fisheye lenses are ...
- [AutoMapper]反射自动注册AutoMapper Profile
AutoMapper 帮我我们方便管理物件跟物件之间属性值格式转换 模型转换 这里有两个类别 UserInfoModel 当作我们从DB捞取出来模型资料 public class UserInfoMo ...
最新文章
- php查询mysql表里的数据_php查询mysql数据表记录实现代码
- 手写简版spring --3--对象实例化策略
- Git和Github的学习
- 7-5 公路村村通 (30 分)(C语言实现)
- Dede更新提示DedeTag Engine Create File False的解决办法
- NameError: name ‘c‘ is not defined--python报错问题
- MYSQL禁用与启用事件
- C++ string类相关函数
- 前端调用接口报错看不到报错响应时 console.dir
- math: 雅可比矩阵 黑塞矩阵
- Mac访问Github加速
- Teststand 中用labview 读写station options属性
- ubuntu system setting no everthing
- Internet网络行为学
- elasticsearch中基于slop参数实现近似匹配
- 【软件工程】工程经济学期末复习资料
- Elasticsearch - JNA
- 通过私有化部署自建一套视频流媒体服务器平台,如何解决视频播放延时卡顿问题?
- 软件过程与项目管理-西安电子科技大学
- r 语言ylim = c(0 1),小白R语言数据可视化进阶练习一