C# - AutoMapper之不同类型的转换

 

一、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 = 22,
                Candidates = new List<CandidateModel>()
                {
                    new CandidateModel(){StartTime = new DateTime(2018, 10, 9, 10, 0, 0), Candidate = "贝贝"},
                    new CandidateModel(){StartTime = new DateTime(2018, 10, 22, 10, 0, 0), Candidate = "asan"},
                    new CandidateModel(){StartTime = new DateTime(2018, 10, 10, 10, 0, 0), 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:

 

 

转载于:https://www.cnblogs.com/YaoFrankie/p/9827159.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值