有人知道我如何链接 where 子句吗?
我想通过在第二个结果中找到的项目来过滤我的主列表中的项目。
我有以下示例代码
@foreach (var artikel in Controller.Artikel
.Where(x => x.LieferantenArtikel
.Where(y => y.Lieferant.LieferantId == bestellung.LieferantId)
)
{
<option value="@artikel.Artikelnummer">@artikel.Artikelnummer</option>
}
第一个 .Where
只是访问我的对象的列表,它有我需要的真正检查。
最佳答案
您将 .Where()
链接到 .Where()
的方式在技术上是正确的。问题是当前情况下的外部 .Where()
不会评估为 bool 值。然而,这是一个要求。 .Where()
的目的是为生成该集合的子集的集合定义过滤器。您可以检查 .Any()
项是否满足该条件:
@foreach (var artikel in Controller.Artikel
.Where(x => x.LieferantenArtikel
.Any(y => y.Lieferant.LieferantId == bestellung.LieferantId))
)
{
<option value="@artikel.Artikelnummer">@artikel.Artikelnummer</option>
}
.
关于c# - LINQ 两个 Where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64318386/