LINQ查询,使用关系

时间:2012-06-28 11:38:32

标签: c# linq

我有问题。我想对这个数据库使用LINQ查询: enter image description here

用户可以拥有多个角色,每个角色可以拥有多个项目。如果我有用户名,我希望能够找到与之关联的所有项目。这意味着我需要首先找到用户拥有的角色,然后找出每个角色所拥有的项目。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

var userItems = myUser.Roles.SelectMany(x=>x.Items);

答案 1 :(得分:1)

让你拥有:

User user = ...;
Role[] roles = user.Roles;
Role role = roles[x];
Items[] items = role.Items;

然后:

var allItems = user.SelectMany(u => u.Roles.Select(r => r.Items);

如果您有EF导航属性:

var allItems = user.Roles.SelectMany(r => r.Items);