无法使 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));

这是一个很大的语法错误。帮助!

无法使 Linq 语法正常工作

我认为

您混淆了whereany.尝试:

return r.Find().Where(x => x.Offers.Any(y => y.IsActive));

尝试嵌套在 where 的任何内容中。

return r.Find()
       .Where(x => x.Offers.Any(y => y.IsActive));