基本上我有一个对象列表。我们称他们为会议。会议内部还有另一个对象列表。让我们给那些参与者打电话。我想返回某个参与者在列表中的所有会议。
我想要这样的事情:
meetings.Where(meeting => meeting.Participants.Name == "Test name").ToList();
基本上返回一个会议列表,其中会议的参与者名称为"测试名称"。
编辑:我实际上最终使用了MongoDB过滤器。在我提取所有"会议之前#34; (使用过滤器)然后使用LINQ过滤列表。不妨在数据库级别过滤掉结果。但这很有用。
答案 0 :(得分:7)
您在寻找Any
吗?
var result = meetings
.Where(meeting => meeting
.Participants
.Any(participant => participant.Name == "Test name"))
.ToList();
答案 1 :(得分:3)
您可以使用LINQ方法Any
和这一行代码:
var result = meetings.Where(m => m.Participants.Any(p => p.Name == "Test name")).ToList();
答案 2 :(得分:0)
即使你尝试以下方法:
meetings.Where(m => m.Participants.Any(k => k.Name == "Test Name")).ToList();