使用Linq2Sql左连接查询

问题描述:

我有3个表称为Users,Groups和UserGroups。 UserGroups是许多2个连接表。使用Linq2Sql左连接查询

我想写一个LINQ声明,让我只有那些群体 没有一个用户组的记录其中UserID是说1

请提供L2Q代码,如果可能的

马尔科姆

那么,你可以表示为:

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

......假设我已经正确地理解了你。

+0

我猜'UserId'在'UserGroups'中,而不是'Groups'。 – 2011-03-19 09:35:39

+0

没有在LinqPad中不起作用。我想要获得用户所没有的所有用户组。这是更好的解释。 – Malcolm 2011-03-19 09:37:02

+0

@Malcolm:试试这个更新版本。如果你可以发布栏目等,这将非常有帮助,所以我不必猜测。同样,我使用的是非OO方法,因为我不知道您设置了哪些关联。 – 2011-03-19 09:39:52