Как отобразить таблицу самоссылки в dapper? - PullRequest
0 голосов
/ 02 июля 2018

У меня есть таблица с собственной ссылкой между Id и ParentId, и это моя модель

  public class Category
{
    public Category()
    {
        Children = new List<Category>();
    }
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public int ParentId { get; set; }
    public IList<Category> Children { get; set; }
}

и это мой запрос и отображение

  string query = "SELECT * FROM Categories as A" +
                 " inner join Categories as B" +
                 " on A.Id = B.ParentId";
            var catDictionary = new Dictionary<int, Category>();
            var list = dbConnection.Query<Category, Category, Category>(query,
               (category, child) =>
               {
                   category.Children = category.Children ?? new List<Category>();
                   category.Children.Add(child);
                   return category;
               }).ToList();
                return list;

и это результат

Есть повторяющиеся узлы и глубина не полная

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...