2010-04-14 19 views
6

Estoy intentando asignar la propiedad ReferralContract.AssessmentId a Referral.Assessment.Id El siguiente código funciona pero estoy seguro de que hay una manera más clara de hacerlo ... dime esto es así ;-)AutoMapper Cómo asignar un objeto anidado desde un ObjectId

// 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; } 
} 

el mapeo AutoMapper que estoy usando es

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

Tengo una situación similar con un mapeo DateTime object.Date a/desde un valor object.SubClass.Date ... Recibo un 'No se puede convertir objeto de tipo 'System.DateTime' al tipo' Objeto. subclase de error, pero han estado intentando exactamente la misma asignación init ... cualquier sugguestions? – beauXjames

Respuesta

3

Por ahora, esa es la manera más limpia que ir. El diseño de AutoMapper no está optimizado para estos escenarios inversa de mapeo, pero eso es algo que yo estoy mirando para futuras versiones.

Cuestiones relacionadas