2010-04-14 6 views
6

ReferralContract.AssessmentId özelliğini Referral.Assessment.Id ile eşleştirmeye çalışıyorum. Aşağıdaki kod çalışır, ancak daha temiz bir yol olduğundan emin değilim. Bu yüzden ;-)OtomatikMapper İç içe nesnenin bir ObjectId eşleştirilmesiyle eşleştirilir.

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

kullanıyorum Automapper haritalama olduğunu söyle o gitmek için en temiz yolu, Şimdilik

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

Bir DateTime nesnesiyle benzer bir durum var. Bir nesneye/nesneye eşleme.SubClass.Date değeri ... 'Nesne' yazmak için 'System.DateTime' türünde bir nesne dönüştürülemiyorum. SubClass'ın hatası, ancak aynı eşleştirmeyi başlatmayı deniyor ... herhangi bir iddia mı? – beauXjames

cevap

3

olduğunu. AutoMapper'ın tasarımı, bu ters haritalama senaryoları için optimize edilmemiştir, ancak gelecekteki sürümler için baktığım bir şey.