0

我有个问题。我想对这个数据库使用 LINQ 查询: 在此处输入图像描述

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

我该怎么做?

4

2 回答 2

3
var userItems = myUser.Roles.SelectMany(x=>x.Items);
于 2012-06-28T11:41:27.683 回答
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);
于 2012-06-28T11:41:35.950 回答