你好,你能帮我看看如何编写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的初学者,我不知道如何正确地做到这一点。
非常感谢你的帮助。
答案 0 :(得分:0)
这似乎是你想要得到的。您可能必须添加“DataContext”。在表名之前。
var stuff = (from t in ScheduledTasks
where t.UserID == userID
|| t.CheckLists.UserID == userID
|| t.Jobs.UserID == userID
select t);