Linq to Entities where子句导航属性

时间:2012-12-07 19:47:49

标签: linq entity-framework linq-to-entities

我有这个相当简单的SQL查询:

SELECT i.IdItem
FROM Item i
INNER JOIN Size s ON i.IdItem = s.IdItem
WHERE s.Width > 0 AND s.Width < 100

...我一直试图将LINQ转换为实体,但无济于事。

到目前为止,这是我想出的:

context.Items.Where(i => i.Sizes.Where(s => s.Width > 0 && s.Width < 100))

我的DbSet(上下文)中有DatabaseContext项目和大小,我的Item实体有Sizes导航属性。

这不能编译,给我Cannot implicitly convert type 'System.Collections.Generic.IEnumerable' to 'bool'错误。我有一种感觉,我错过了一些非常明显的东西。

1 个答案:

答案 0 :(得分:7)

context.Items.Where(i => i.Sizes.Any(s => s.Width > 0 && s.Width < 100))

Where为您提供IEnumerable,不能将其用作条件