Linq2SQL 选择 IDs where join returns negative

Linq2SQL choose IDs where join returns negative

我正在尝试从 table 中查询需要与否定结果结合的 ID。换句话说,选择加入的 table ScacSetup 中不存在该 ScacID 的所有 ScacID。此查询 returns 无结果。

var tasksNotAssociated = from scac in db.Scacs
                         where !db.ScacSetupTasks.Any(s => s.ScacTaskID == taskID)
                         group scac by scac.ScacCode into scacNotAssociated
                         select scacNotAssociated.FirstOrDefault();

很好,是的,我的解决方案是使用导航提供的左连接 属性; ScacSetupTasks。我想我应该发布我的导航 属性 并标记 Entity Framework。好的,这就是我发现的工作,本质上是左连接,其中 leftside == null 正如 MarcinJeraszek 所建议的,谢谢好友。

var scacsNotAssociated = db.Scacs.Where(s => s.ScacSetupTasks.Count(sst => sst.ScacTaskID == taskID) == 0);