【发布时间】:2011-09-28 14:32:11
【问题描述】:
我无法理解 Linq 何时给我一个 IQueryable 结果,什么时候给我一个 IEnumerable 结果。
示例:
我正在使用 EF,我有两个实体 Location 和 Configuration。
每个Location可以有多个Configurations。
以下查询给了我一个 IQueryable 作为结果:
Context.Locations.Where(l => l.Name == "SomeName")
而以下结果是给我一个 IEnumerable:
Context.Locations.Where(l => l.Name == "SomeName").First().Configurations.Select(c => c)
这是为什么呢?
【问题讨论】:
-
第一个查询是给你
IQueryable?你积极吗?那应该实现一个对象,不应该有IQueryable或IEnumerable。 -
@AnthonyPegram 你是对的。我从示例中删除了 .First() 以进行澄清。
标签: c# linq entity-framework