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.Productindest, und dannsource.Categoriesindest.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.]

Antworten auf die Frage(8)

Ihre Antwort auf die Frage