aşağıdaki kaynaklar:Automapper ve Verilen sınıf hiyerarşisi
public class SourceBase { public string TheString { get; set; } }
public class SourceDerived : SourceBase { }
ve varış noktaları:
public class DestBase { public string MyString { get; set; } }
public class DestDerived : DestBase { }
Ve bu haritalama: Ancak
CreateMap<SourceBase, DestBase>()
.ForMember(dest => dest.MyString, o => o.MapFrom(x => x.TheString))
.Include<SourceDerived, DestDerived>();
CreateMap<SourceDerived, DestDerived>();
Mapper.AssertConfigurationIsValid(); // Exception is thrown here
, bu MyString bedeli vardır diyerek bir eşleme hata veriyor DestDerived üzerinde eşlenmiş. Ne verir? Gerçekten türetilmiş tüm türlerdeki temel sınıf özellikleri için eşlemeleri yinelemem gerekiyor mu (gerçek kodumda birden fazla alt sınıfım var).
DÜZENLEME:
tam istisna DestDerived aşağıdaki 1 özellikleri eşlenemediği geçerli: MyString. Özel bir eşleme ifadesi ekleyin, DestDerived'daki özelliği yoksayın veya yeniden adlandırın.
Tam hata nedir? –