C# 根据具有条件的子项的子项进行选择
我有一个拥有房屋列表的用户,所有房屋都有洗碗机列表 现在,我想得到一份名为“西门子”的洗碗机用户名单 我如何用LINQ写一些可以做到这一点的东西 我当前的尝试如下所示:C# 根据具有条件的子项的子项进行选择,c#,linq,C#,Linq,我有一个拥有房屋列表的用户,所有房屋都有洗碗机列表 现在,我想得到一份名为“西门子”的洗碗机用户名单 我如何用LINQ写一些可以做到这一点的东西 我当前的尝试如下所示: users = db.Users .SelectMany(u => u.Houses) .SelectMany(h => h.Dishwashers) .Where(d => d.Name=="Siemens"); 使用Any进行筛选,而不是尝试选择
users = db.Users
.SelectMany(u => u.Houses)
.SelectMany(h => h.Dishwashers)
.Where(d => d.Name=="Siemens");
使用
Any
进行筛选,而不是尝试选择全部
var users = db.Users
.Where(u =>
u.Houses.Any(h =>
h.Dishwashers.Any(d =>
d.Name == "Siemens"
)
)
).ToList();
它返回的是洗碗机列表,而不是用户列表,所以遗憾的是它不起作用