我有个问题。我想对这个数据库使用 LINQ 查询:
一个用户可以有很多角色,每个角色可以有很多项。如果我有用户名,我希望能够找到与之相关的所有项目。这意味着我需要首先找到用户拥有的角色,然后找到每个角色拥有的项目。
我该怎么做?
var userItems = myUser.Roles.SelectMany(x=>x.Items);
让你拥有:
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);