Linq to Entities where子句导航属性

dom*_*dom 1 linq linq-to-entities entity-framework

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

SELECT i.IdItem
FROM Item i
INNER JOIN Size s ON i.IdItem = s.IdItem
WHERE s.Width > 0 AND s.Width < 100
Run Code Online (Sandbox Code Playgroud)

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

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

context.Items.Where(i => i.Sizes.Where(s => s.Width > 0 && s.Width < 100))
Run Code Online (Sandbox Code Playgroud)

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

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

AD.*_*Net 8

context.Items.Where(i => i.Sizes.Any(s => s.Width > 0 && s.Width < 100))
Run Code Online (Sandbox Code Playgroud)

Where给你一个IEnumerable不能用作条件的东西