【发布时间】:2015-01-07 04:30:53
【问题描述】:
我有两个列表,一个是 IQueryable,另一个是 IEnumerable。
我需要在 Linq to Entities 中找到它们之间的差异,
IQueryable - IEnumerable,其中 T 是复杂类型(类)。
当我尝试使用 IQueryable.Except(IEnumerable) 时,它没有按预期工作。
var listQuery = select query; (listQuery becomes an IQueryable type)
var listEnumerable = (select query).ToList(); (listEnumerable becomes an IEnumerable type)
listQuery.Except(listEnumerable);
(这不会执行预期的操作,想象一下,listQuery.Count() 是 110,listEnumerable.Count() 是 30,所以最终的 except() 应该返回 80,而不是返回整个 110)。
有什么帮助吗?
谢谢 马尼坎丹J
【问题讨论】:
-
一个 IQueryable 是一个 IEnumerable 所以你的问题有点不清楚。
-
如果可以,请发布一些期望输出与实际输出的示例,以便其他人可以了解您到底想要什么。
-
“它没有按预期工作”。您能否描述一下发生的意外行为?
-
这有帮助吗? stackoverflow.com/questions/3082592/…(可能是骗子,但我在这里犹豫要不要使用骗子锤)。