我有问题。我想对这个数据库使用LINQ查询:
用户可以拥有多个角色,每个角色可以拥有多个项目。如果我有用户名,我希望能够找到与之关联的所有项目。这意味着我需要首先找到用户拥有的角色,然后找出每个角色所拥有的项目。
我该怎么做?
答案 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);