AutoMapper 如何从 ObjectId 映射嵌套对象

标签 automapper

我正在尝试将 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/

相关文章:

.net - 使用 Ninject 注入(inject) AutoMapper 依赖项

.net - AutoMapper 使用 StructureMap 实例化复杂类型

c# - automapper 意外字段 c#

asp.net-mvc - 使用 NHibernate 子集合自动映射对象

c# - 在商业应用中使用 Automapper 和 LinFu.DynamicProxy

c# - 将平面 JSON/字典映射到模型(包含子类)

lazy-loading - Entity Framework 5循环延迟加载导致OutOfMemoryException

entity-framework - 如何使用 AutoMapper 映射外键值?

c# - 如何让 AutoMapper 处理自定义命名约定?

asp.net-mvc - 如何为Unity和AutoMapper实现MVC Bootstrap ?