我有一个具有以下布局的表的数据库:
JobID TaskID DependantTaskID
--------------------------------
1000 20 19
1000 21 20
如您所见,它为每个作业以及该作业中的每个任务指定了相关任务标识符是什么。我想写一些 LINQ,给定一个作业返回每个任务和相关的依赖项,然后我可以适当地排序。这是我拥有的 LINQ:
var query = from t in Sys_JobDependantTasks
where t.JobID == 1000
select new
{
TaskId = t.Taskid,
Dependencies = (from d in Sys_JobDependantTasks
where d.DependantTaskid == t.Taskid
select d.DependantTaskid).ToList()
};
var result = query.ToList();
result.Dump();
...除了结果出乎意料之外。我得到:
TaskId Dependencies
----------------------------
9304 9304
9304
然而,表的原始转储说 9304 取决于 9633。我对 LINQ 很陌生,所以我想知道是否有什么明显的我做错了?