Как я могу получить список родительского дерева (Follow General Tree) - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть миллионы данных в базе данных. Как я могу получить список членов каждого родительского дерева. вот так:

private DbContext db=new DbContext();
public List<user> GetUserListByParentId(int id)
{
    var data = db.users.where(x => x.parentid == id).ToList();
    // But here is one problem I'm getting: only 5 users list
    // I want to all list which is I'm or my child adding
    // members or every tree member adding new member.
} 

// User Model
public class user{
public int userid{get;set;}
public int parentid{get;set;}
public string username{get;set;}
public string firstname{get;set;}
public string lastname{get;set;}
public string designation{get;set;}
}

Это пример данных

var users = new []
{
    new user() { userid = 1, parentid = 0, username = "jack", firstname = "jack", lastname = "", designation = "Diamond" },
    new user() { userid = 2, parentid = 0, username = "Roch", firstname = "Roch", lastname = "", designation = "Diamond" },
    new user() { userid = 3, parentid = 0, username = "Sam", firstname = "Sam", lastname = "", designation = "Diamond" },
    new user() { userid = 4, parentid = 3, username = "Jesica", firstname = "Jesica", lastname = "", designation = "Bronze" },
    new user() { userid = 5, parentid = 2, username = "Mohan", firstname = "Mohan", lastname = "", designation = "Silver" },
    new user() { userid = 6, parentid = 1, username = "Joe", firstname = "Joe", lastname = "", designation = "Bronze" },
    new user() { userid = 7, parentid = 2, username = "Kristine", firstname = "Kristine", lastname = "", designation = "Bronze" },
    new user() { userid = 8, parentid = 6, username = "May", firstname = "May", lastname = "", designation = "Bronze" },
    new user() { userid = 9, parentid = 5, username = "April", firstname = "April", lastname = "", designation = "Silver" },
    new user() { userid = 10, parentid = 1, username = "Faith", firstname = "Faith", lastname = "", designation = "Gold" },
    new user() { userid = 11, parentid = 2, username = "Ayee", firstname = "Ayee", lastname = "", designation = "Star" },
    new user() { userid = 12, parentid = 3, username = "Jonathan", firstname = "Jonathan", lastname = "", designation = "Bronze" },
    new user() { userid = 13, parentid = 3, username = "Marry", firstname = "Marry", lastname = "", designation = "Silver" },
    new user() { userid = 14, parentid = 3, username = "Maddy", firstname = "Maddy", lastname = "", designation = "GOld" },
    new user() { userid = 15, parentid = 2, username = "Praddy", firstname = "Praddy", lastname = "", designation = "Bronze" },
    new user() { userid = 16, parentid = 10, username = "Frank", firstname = "Frank", lastname = "", designation = "Baby" },
};

tree

Я хочу получить список данных из мое дерево Сколько членов в моем дереве

...