使用LINQ过滤树视图节点? (左连接和分层数据模板)

时间:2012-02-09 19:00:16

标签: .net linq entity-framework left-join hierarchicaldatatemplate

我想填写树视图并使用分层数据模板来构建级别。

区域>群组>站>任务

在某些情况下,我只想显示任务是否为task_type 13.

检查出来:

var gnarly = from a in db.tAreas
    join g in db.tGroups on a.ID_area equals g.ID_area
    join s in db.tStations on g.ID_group equals s.ID_group
    join t in
        (from T in db.tTasks
        where T.Task_Type == 13
        select T) on s.ID_station equals t.ID_Station
    into t_Filtered
    from tf in t_Filtered.DefaultIfEmpty()
    select new
    {
        tGroups = a.tGroups,
        tCaption = a.tCaption
    };

通常,我会使用左连接,所以我尝试使用into / DefaultIfEmpty类型的东西..但是,如何选择只有具有正确类型的Tasks的区域?我认为秘诀在于形成新的选择,但由于我的层次结构是基于由列表组成的列表组成的列表......我不知道如何能够实现这一目标。我没有从区域到任务类型级别的智能感知。

我认为如果我在我的分层树视图中放置一个转换器,那么我可以过滤..但我想知道这是否可以使用上面的例子中的某些LINQ。

0 个答案:

没有答案