Linq to Entities 查询命中数据库两次
我有以下非常简单的 linq 查询,用于查询实体 edmx 的 linq。
(from i in ent.Inspectors select i).OrderBy(s => s.Surname).Skip((page - 1) * count).Take(count).ToList();
在 Sql Server Profiler 中,我可以看到完全相同的选择查询被发送了两次。
有人可以解释为什么吗?
干杯,
戴夫
I have the following pretty simple linq query querying a linq to entities edmx.
(from i in ent.Inspectors select i).OrderBy(s => s.Surname).Skip((page - 1) * count).Take(count).ToList();
In Sql Server Profiler I can see that the exact same select query is being sent twice.
Can someone explain why?
Cheers,
Dave
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ent.Inspectors 是包含两个项目的 IEnumerable 吗?
Is ent.Inspectors an IEnumerable containing two items?
由于延迟执行,查询结果不会在本地缓存。为了防止这种情况,请在查询中添加对
ToArray
的调用。另外,
from i in ent.Inspectors select i
是一个无操作;你应该写ent.Inspectors.OrderBy(s => s.Surname)...
。Because of deffered execution, the results of the query aren't cached locally. To prevent this, add a call to
ToArray
in the query.Also,
from i in ent.Inspectors select i
is a no-op; you should writeent.Inspectors.OrderBy(s => s.Surname)...
.