Самостоятельное сопоставление списков - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть список ссылок для категории и детей.В каждой категории есть список дочерних элементов, которые также являются категориями, но автоматическое сопоставление применяется только для первого уровня модели.

CreateMap<Category, CategoryForReturnDto> ()
    .ForMember (dest => dest.ItemsCount, opt => {
        int number = 0;
        opt.ResolveUsing (src => {
            return RecursiveItemsCount (src, number);
        });
    })
    .ForMember (dest => dest.Children, opt => { });
public class Category 
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int? ParentId { get; set; }
    public virtual Category Parent { get; set; }
    public virtual ICollection<Category> Children { get; set; }
    public ICollection<Item> Items { get; set; }
}

public class CategoryForReturnDto
{
     public string Name { get; set; }
     public int Id { get; set; }
     public int ItemsCount { get; set; }
     public ICollection<Category> Children { get; set; }
     public int ParentId { get; set; }
}

1 Ответ

0 голосов
/ 17 февраля 2019

исправление должно было иметь внутри профиля автопроизводителя

        CreateMap<Category, CategoryForReturnDto> ()
            .ForMember (dest => dest.ItemsCount, opt => {
                int number = 0;
                opt.ResolveUsing (src => {
                    return RecursiveItemsCount (src, number);
                });
            });

и внутри dto

public class CategoryForReturnDto
{
     public string Name { get; set; }
     public int Id { get; set; }
     public int ItemsCount { get; set; }
     public ICollection<CategoryForReturnDto> Children { get; set; }
     public int? ParentId { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...