C# - AutoMapper之不同类型的转换
2024-10-02 05:16:15
一、Dto & Model约定
class TestDto
{
public string Name { get; set; }
public int Age { get; set; }
public List<string> Candidates { get; set; }
} class TestModel
{
public string Name { get; set; }
public int Age { get; set; }
public List<CandidateModel> Candidates { get; set; }
}
class CandidateModel
{
public DateTime StartTime { get; set; }
public string Candidate { get; set; }
}
二、需求:筛选出TestModel中StartTime小于当前时间的候选人,并将其传输给TestDto的Candidates字段。
class Program
{
static void Main(string[] args)
{
var testModel = new TestModel()
{
Name = "Frankie",
Age = ,
Candidates = new List<CandidateModel>()
{
new CandidateModel(){StartTime = new DateTime(, , , , , ), Candidate = "贝贝"},
new CandidateModel(){StartTime = new DateTime(, , , , , ), Candidate = "asan"},
new CandidateModel(){StartTime = new DateTime(, , , , , ), Candidate = "pangzi"}
}
};
// DataTime.Now : {2018/10/21 21:51:12}
testModel.Candidates = testModel.Candidates.Where(_ => _.StartTime < DateTime.Now).ToList(); Mapper.Initialize(_ => _.CreateMap<TestModel, TestDto>()
.ForMember(s => s.Candidates,
d => d.MapFrom(x => x.Candidates.Select(y => y.Candidate)))); var testDto = Mapper.Map<TestDto>(testModel);
}
}
Result:
最新文章
- jQuery实践树(2)
- leetcode 28
- HDU-3436 Queue-jumpers 树状数组 | Splay tree删除,移动
- CSS权威指南-第三版--读书笔记
- Google 高性能 RPC 框架 gRPC 1.0.0 发布(附精彩评论)
- VHDL设计问题
- hadoop以及相关组件介绍以及个人理解
- [转载]CentOS 7安装Gnome GUI 图形界面
- js_3_for_if_try
- 201621123057 《Java程序设计》第13周学习总结
- dataframe行变换为列
- 关于QQ邮箱有时候接受不到邮件的解决
- gentoo usb serial ch340 16进制读写
- dns 监控系统 设计 dns安全威胁的可视化。
- Delphi SetParent 嵌入其他应用程序
- StretchBlt和StretchDIBits
- 自定义的开关按钮——SwitchButton
- Spark的运行模式(2)--Yarn-Cluster和Yarn-Client
- day25 python学习 继承,钻石继承 多态
- 百度语音合成 composer
热门文章
- Webpack打包效率优化篇
- java练习---1
- 学习LayUI时自研的表单参数校验框架
- JDBC连接mysql数据库操作详解
- jquery插件——仿新浪微博限制输入字数的textarea
- Hack The Box Web Pentest 2019
- 【Android Studio】查看源码时提示“throw new RuntimeException(";Stub!";)”
- gulp压缩js文件报错日志
- ArrayList源码分析--jdk1.8
- Tomcat源码分析 (三)----- 生命周期机制 Lifecycle