2010-04-14 20 views
6

Sto cercando di mappare la proprietà ReferralContract.AssessmentId a Referral.Assessment.Id Il codice seguente funziona ma sono sicuro che c'è un modo più pulito per fare .... Per favore dimmi questo è così ;-)AutoMapper Come mappare un oggetto nidificato da 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; } 
} 

la mappatura Automapper che sto usando è

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

Ho una situazione simile con un oggetto DateTime. Datare il mapping a/da un valore object.SubClass.Date ... Ricevo un 'Impossibile lanciare oggetto di tipo' System.DateTime 'per digitare' Object. Errore di sottoclasse ma si è tentato lo stesso identico mapping ... qualsiasi suggerimento? – beauXjames

risposta

3

per ora, questo è il modo più pulito per andare. Il design di AutoMapper non è ottimizzato per questi scenari di mappatura inversa, ma è qualcosa che sto guardando per le versioni future.

Problemi correlati