Wie AutoMapper verwenden, um anzeigen Ziel-Objekts mit einem untergeordneten Objekt in der Quell-Objekt?

Ich habe die Quell-und Ziel-Objekte wie diese:

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

So, mein Bedarf ist die Karte die Werte von source.Product in dest, und dann source.Categories in dest.Categories. Ist es möglich mit AutoMapper?

Ich habe versucht, und ich war nicht überrascht, wenn es versagt:

        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 erhielt:

[AutoMapperConfigurationException: Benutzerdefinierte Konfiguration für die Mitglieder ist
unterstützt werden nur für top-level die einzelnen Mitglieder auf einen Typ.]

InformationsquelleAutor Luke Vo | 2016-02-23
Schreibe einen Kommentar