Linq查询EF中的连接表

时间:2011-08-01 21:51:32

标签: linq entity-framework


  你好,你能帮我看看如何编写Linq查询(使用实体框架)满足以下要求:

我有桌子:

用户(ID,名称),
清单(ID,名称,用户ID(非空))
作业(ID,名称,用户ID(非空))
任务(ID,名称,JobID(NULLABLE),UserID(NULLABLE),ChecklistID(NULLABLE)),

在Task表中,始终只填充一个外键(其他为NULL):

任务数据示例:

ID名称JobID用户ID清单ID
1 T1 1 NULL NULL
2 T2 NULL 1 NULL
3 T3 NULL NULL 1
...

我想根据以下规则为用户选择所有任务:
1.属于用户的所有任务(UserID已填写)
2.所有与工作相关的任务(JobID已填写)和Job由用户拥有 3.与清单相关的所有任务(ChecklistID已填写),清单由用户拥有 4.用户的ID是输入参数

我想在一个Linq查询中得到结果。我是Linq的初学者,我不知道如何正确地做到这一点。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

这似乎是你想要得到的。您可能必须添加“DataContext”。在表名之前。

var stuff = (from t in ScheduledTasks
            where t.UserID == userID            
                || t.CheckLists.UserID == userID
                || t.Jobs.UserID == userID
            select t);