Wie verwende ich AutoMapper, um das Zielobjekt einem untergeordneten Objekt im Quellobjekt zuzuordnen?
Ich habe die Quell- und Zielobjekte wie folgt:
class ProductWithCategories // Source class
{
public Product Product { get; set; } // Product is an EF entity class
public IEnumerable<Category> Categories { get; set; }
}
class ProductViewModel // Dest class
{
public int Id { get; set; }
// Other properties with the same name as Product class
public IEnumerable<CategoryViewModel> Categories { get; set; }
}
Also, mein Bedürfnis ist es, die Werte von @ abzubildsource.Product
indest
, und dannsource.Categories
indest.Categories
. Ist das mit AutoMapper möglich?
ch habe es versucht und war nicht überrascht, als es fehlschlug:
config.CreateMap<ProductWithCategories, ProductViewModel>()
.ForMember(q => q, option => option.MapFrom(q => q.Product))
.ForMember(q => q.Categories, option => option.MapFrom(q => q.Categories));
Hier ist die Ausnahme, die ich erhalten habe:
[AutoMapperConfigurationException: Benutzerdefinierte Konfiguration für Mitglieder wird nur für einzelne Mitglieder der obersten Ebene eines Typs unterstützt.]