Client_Payroll_Items.AsEnumerable().Select((row, index) => new {row, index})
.Where(
(x => x.row.Client_KEY == 3) &&
(x => x.row.Description == "401(k) % of Gross")
)
//.Where(x => x.row.Description == "401(k) % of Gross")
.Select(x=> x.row.Payroll_item_calculation_type_KEY)
.DefaultIfEmpty(-1)
.First();
当我运行它时,我得到“操作员”&&&不能应用于'lambda expression'和'lambda expression'类型的操作数“错误。
Client_Payroll_Items
.AsEnumerable()
.Select((row, index) => new {row, index})
.Where(x => x.row.Client_KEY == 3)
.Where(x => x.row.Description == "401(k) % of Gross")
.Select(x=> x.row.Payroll_item_calculation_type_KEY)
.DefaultIfEmpty(-1)
.First()
最新的一个运行,我得到了我需要的东西。
问题 - 为什么第一个代码中的错误?
答案 0 :(得分:1)
在您的第一个代码示例中,您多次指定了lambda x =>
,这是不正确的:
.Where((x => x.row.Client_KEY == 3) && (x => x.row.Description == "401(k) % of Gross"))
它应该只被指定一次,并且可以根据需要在谓词中多次使用:
.Where(x => x.row.Client_KEY == 3 && x.row.Description == "401(k) % of Gross")