我有这个相当简单的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'
错误。我有一种感觉,我错过了一些非常明显的东西。
答案 0 :(得分:7)
context.Items.Where(i => i.Sizes.Any(s => s.Width > 0 && s.Width < 100))
Where
为您提供IEnumerable
,不能将其用作条件