Users
和Divisions
之间存在多对多关系。我需要能够根据他们的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
)。关于我应该做什么的任何建议?
这已经解决了。我上面的代码有效,还有另一个问题。