我想编写一个 linq 查询来检查一个对象与另一个对象内的对象列表。
这是我想出的,它不会产生正确的结果,因为它只默认为第一个,所以两个对象Site 1
都只Site 2
显示在Site 1
:
filteredData = data
.where(f => filterInfo.Site.Name.Contains
(f.EtaSites.FirstOrDefault().Site.Name)).ToList()
所以,data
是一个列表,在每个Data
对象中,都有一个EtaSites
. 每个EtaSite
都有一个Site
。一个Data
对象可以在多个 中Site
,即列表中有两个EtaSites
对象。我的查询应该拉出任何在列表中Data
被选中的对象。Site
因此,对于不止一个站点的那些,我们应该能够选择Site 1
或Site 2
返回相同的Data
对象。