2016-01-21 61 views
0

我有,其他人可能会相当简单的一点逻辑,但我一直在绕圈,无法弄清楚。无法获取Linq语法

我正在使用实体框架,但这不是太重要,因为它是我需要建议的Linq部分。

我有一个命名的类别和另一个命名的优惠。关系是一个报价可以有一个类别,当然一个类别可以有很多报价。

每个提议具有2布尔列:IsActiveIsExpired

我想只选择具有至少1个有效报价的类别(即IsActive!IsExpired

虽然我使用的存储库,它本质上是相同的,其中r是类别表。

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

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

回答

7

我认为你已经混淆了whereany。尝试:

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

尝试嵌套在里面的任何地方。

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