我有以下非常简单的linq查询查询linq到实体edmx。
(from i in ent.Inspectors select i).OrderBy(s => s.Surname).Skip((page - 1) * count).Take(count).ToList();
在Sql Server Profiler中,我可以看到完全相同的选择查询被发送两次。
有人可以解释原因吗?
干杯,
戴夫
答案 0 :(得分:1)
ent.Inspectors是一个包含两个项目的IEnumerable吗?
答案 1 :(得分:0)
由于延迟执行,查询结果不会在本地缓存。要防止这种情况,请在查询中添加对ToArray
的调用。
此外,from i in ent.Inspectors select i
是无操作的;你应该写ent.Inspectors.OrderBy(s => s.Surname)...
。