C# 将数据检索到树视图

C# 将数据检索到树视图,c#,.net,treeview,C#,.net,Treeview,我有这样的桌子 TaskID------ParentID-------TaskName 1-----------Null-----------AllPro 2-----------1--------------Drink 3-----------2--------------Coco 4-----------2--------------Pepsi 5-----------1--------------Food 6-

我有这样的桌子

    TaskID------ParentID-------TaskName  
    1-----------Null-----------AllPro  
    2-----------1--------------Drink  
    3-----------2--------------Coco  
    4-----------2--------------Pepsi  
    5-----------1--------------Food  
    6-----------5--------------Macdo 
我尝试将其放入树状视图,我的问题是,当我想在任务id和父id之间建立关系时,结果会重复,正如您可以看到我的代码:

该关系在一个表中的两列之间:

public IQueryable<tblTask> GetTaskTree()  
    {  
        var MySubject = from publisher in ObjectContext.tblTasks  
                        join subjects in ObjectContext.tblTasks  
                         on publisher.ParentTaskID equals subjects.TaskID  
                        select publisher;  
        return MySubject;  
    }  
这里是itemtemplate


你能帮帮我吗。

我认为你不应该加入你的团队;您的表应该只读取一次,并且拥有所有记录您应该知道如何使用递归键ParentID将它们相互嵌套,基本上每个记录都有一个Id、一个标签,并且知道它所属的其他父记录,没有理由加入

在旧的windows窗体编程中,我可能会编写一个小程序来扫描所有记录并相应地创建节点。TreeView通常也有一些层次结构属性,因此您可以指定父节点字段或类似的内容,TreeView为您创建层次结构,但实际上我不确定默认的windows窗体TreeView是否有此功能,我使用了太多的控件,不检查就记不起哪些控件有哪些功能。。。(DevExpress、Telerik、基础设施…)

Drink
--Pepsi
--Coco
Pepsi
Coco
Food
---Mac
Mac