多对多和何处条款

时间:2015-02-25 20:13:40

标签: c# linq many-to-many where-clause

UsersDivisions之间存在多对多关系。我需要能够根据他们的divisionId获得用户。

我想编写一个linq查询,将其转换为以下内容:

SELECT * FROM Users
WHERE divisionId IN (1, 7)

我试过的linq看起来像:

var users = context.Users.Where(u =>
    u.Divisions.Any(d =>
        divisionIds.Contains(d.DivisionId)));

在上面的linq中,u.Divisions是类型List<Division>divisionIds类型为数组(int[] divisionIds = new int[] { 1, 7 })(divisionIds数组是动态的,它并不总是1和7.这只是一个例子。

这要求用户同时处于DivisionId 1 AND 7(我想要OR)。关于我应该做什么的任何建议?

更新

这已经解决了。我上面的代码有效,还有另一个问题。

0 个答案:

没有答案
相关问题