无法使 Linq 语法正常工作
本文关键字:工作 常工作 Linq 语法 | 更新日期: 2023-09-27 18:31:13
我有,对其他人来说可能是一个相当简单的逻辑,但我一直在兜圈子,想不通。
我正在使用实体框架,但这并不太重要,因为它是我需要建议的 Linq 部分。
我有一个命名的类别和另一个命名的优惠。关系是,一个产品/服务可以有 1 个类别,当然一个类别可以有多个产品/服务。
每个产品/服务都有 2 个布尔列:活动列和过期。
我尝试仅选择至少具有 1 个有效报价的类别(即 IsActive 和 !已过期 )
虽然我使用的是存储库,但它本质上是相同的,其中 are 是类别表。
return r.Find()
.Any(x => x.Offers.Where(y => y.IsActive == true));
这是一个很大的语法错误。帮助!
我认为
您混淆了where
和any
.尝试:
return r.Find().Where(x => x.Offers.Any(y => y.IsActive));
尝试嵌套在 where 的任何内容中。
return r.Find()
.Where(x => x.Offers.Any(y => y.IsActive));