我在搜索"OriginalValue"对我来说是国家代码。"OriginalValue"可以是不同的类型,但我正在搜索国家代码。
我必须搜索其OriginalValue为CountryCode类型且HeadingNumber等于CountryCodeHeadingNummer(为"34")的所有报告。
然而,代码没有编译。我得到错误:
CS1503参数2:不能从'bool'传递到System.func<char,bool>'
private IQueryable<Report> SearchCountryCode(ReportSearchFilter search, IQueryable<Report> Reports)
{
countryCodeHeadingNumber = "34";
if (!string.IsNullOrEmpty(search.CountryCode))
{
Reports = Reports.Where(r => r.Headings
.Any(h => h.OriginalValue
.Where(h.HeadingType.HeadingNummer.Equals(countryCodeHeadingNumber))
.Equals(search.CountryCode)));
}
return Reports;
}
我是这样解决的。我只是需要用不同的顺序来做
Reports = Reports
.Where(r => af.Headings
.Where(r => h.HeadingType.HeadingNummer.Equals(countryCodeHeadingNumber))
.Any(r => r.OriginalValue.Equals(search.CountryCode))
);