AutoMapper如何从ObjectId映射嵌套对象 [英] AutoMapper How to map nested object from an ObjectId

查看:62
本文介绍了AutoMapper如何从ObjectId映射嵌套对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将ReferralContract.AssessmentId属性映射到Referral.Assessment.Id下面的代码可以工作,但是我敢肯定有一种更干净的方法来做....请告诉我这是;-)

I am trying to map the ReferralContract.AssessmentId property to Referral.Assessment.Id The below code works but I am sure that there is a cleaner way to do.... Please tell me this is so ;-)

// Destination classes
public class Referral
{
    public Referral()
    {
        Assessment = new Assessment();
    }

    public int Id { get; set; }
    public Assessment Assessment { get; set; }
}

public class Assessment
{
    public int Id { get; set; }
}

// Source Class
public class ReferralContract
{
    public int Id { get; set; }
    public int AssessmentId { get; set; }
}

我正在使用的Automapper映射是

The Automapper mapping I am using is

Mapper.CreateMap<ReferralContract, Referral>()
      .ForMember(x => x.Assessment,
          opt => opt.MapFrom(scr => new Assessment { Id = scr.AssessmentId }));

推荐答案

目前,这是最干净的方法.AutoMapper的设计并未针对这些反向映射方案进行优化,但是我正在寻找将来的版本.

For now, that's the cleanest way to go. AutoMapper's design is not optimized for these reverse-mapping scenarios, but that's something I'm looking at for future versions.

这篇关于AutoMapper如何从ObjectId映射嵌套对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆