我正在尝试将 ReferralContract.AssessmentId 属性映射到 Referral.Assessment.Id
下面的代码有效,但我确信有一种更简洁的方法……请告诉我这是这样的 ;-)
// 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 映射是
Mapper.CreateMap<ReferralContract, Referral>()
.ForMember(x => x.Assessment,
opt => opt.MapFrom(scr => new Assessment { Id = scr.AssessmentId }));
最佳答案
目前,这是最干净的方法。 AutoMapper 的设计并未针对这些反向映射场景进行优化,但我正在为 future 的版本考虑这一点。
关于AutoMapper 如何从 ObjectId 映射嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2634253/