C# Nested.Where()导致错误。无法从';波尔';

C# Nested.Where()导致错误。无法从';波尔';,c#,.net,.net-core,backend,C#,.net,.net Core,Backend,我在搜索“OriginalValue”时遇到问题,在我的例子中,它是一个国家代码。 “OriginalValue”可以是不同的类型,但我正在搜索国家代码 我必须搜索其原始值为CountryCode类型且HeadingNumber等于CountryCodeHeadingNummer(即“34”)的所有报告 但是,代码没有编译。我得到一个错误: CS1503参数2:无法从'bool'传递到System.func' private IQueryable SearchCountryCode(Report

我在搜索“OriginalValue”时遇到问题,在我的例子中,它是一个国家代码。 “OriginalValue”可以是不同的类型,但我正在搜索国家代码

我必须搜索其原始值为CountryCode类型且HeadingNumber等于CountryCodeHeadingNummer(即“34”)的所有报告

但是,代码没有编译。我得到一个错误:

CS1503参数2:无法从'bool'传递到System.func'

private IQueryable SearchCountryCode(ReportSearchFilter搜索,IQueryable报告)
{
countryCodeHeadingNumber=“34”;
如果(!string.IsNullOrEmpty(search.CountryCode))
{
报告=报告。其中(r=>r.标题
.Any(h=>h.OriginalValue
.式中(h.HeadingType.HeadingNummer.等于(countryCodeHeadingNumber))
.Equals(search.CountryCode));
}
返回报告;
}

我这样做就解决了这个问题。我只需要按照不同的顺序来做

Reports = Reports 
    .Where(r => af.Headings
       .Where(r => h.HeadingType.HeadingNummer.Equals(countryCodeHeadingNumber))
       .Any(r => r.OriginalValue.Equals(search.CountryCode))
    );

我得到了错误:CS1503参数2:无法从'boll'传递到System.func'
我怀疑这就是确切的错误。为什么要使用
Equals
而不是
Where
?内部
Where
调用没有传递lambda表达式。你需要一些带有
=>
的东西。当我使用时,我必须将它与一些东西进行比较。我习惯于在我需要的地方做事。在这种情况下,第一个地方是通过我从前端(搜索)获得的indput查找,第二个地方是它只需查看标题类型为CountryCode的表格
Reports = Reports 
    .Where(r => af.Headings
       .Where(r => h.HeadingType.HeadingNummer.Equals(countryCodeHeadingNumber))
       .Any(r => r.OriginalValue.Equals(search.CountryCode))
    );