Linq to sql 使用Linq2Sql的左连接查询

Linq to sql 使用Linq2Sql的左连接查询,linq-to-sql,Linq To Sql,我有3个表,分别称为Users、Groups和UserGroups。 UserGroups是多2多联接表 我想写一个linq语句,只得到那些组 没有UserID为1的UserGroup记录的 如果可能,请提供L2Q代码 马尔科姆你可以这样表达: var query = db.Groups.Where(x => !db.UserGroups .Any(y => y.UserId == 1 &&

我有3个表,分别称为Users、Groups和UserGroups。 UserGroups是多2多联接表

我想写一个linq语句,只得到那些组 没有UserID为1的UserGroup记录的

如果可能,请提供L2Q代码


马尔科姆

你可以这样表达:

var query = db.Groups.Where(x => !db.UserGroups
                                    .Any(y => y.UserId == 1 && 
                                              y.GroupId == x.GroupId));

。。。假设我理解正确。

我猜
UserId
UserGroups
中,而不是
Groups
中。不,这在LinqPad中不起作用。我想获取用户尚未拥有的所有组。这是更好的解释。@Malcolm:试试这个更新版本。如果你能贴出这些专栏的内容,这样我就不用猜了,那真的会很有帮助。同样地,我使用的是一种相当非面向对象的方法,因为我不知道您设置了什么关联。如何将该语句投影到名为Group-same-properties的POCO对象中datacontext@Malcolm:不太清楚你的意思。。。结果将是一系列
对象。。。您可以调用
ToList
来创建它们的列表。这只是正常的LINQ。。。