2009-11-16 57 views
1

有没有人听说过EF查询的异步执行?实体框架中的异步数据加载?

我希望我的项目控制要正确填写表单时,负载和用户应该能够同时其余项目仍在加载到浏览列表中。

也许通过在同一连接中自动拆分项目的大量执行(即每次执行很少的查询)来执行。

我发布一个功能建议,Microsoft,请与您的想法分享他们。

回答

1

不想要听起来像一个广告,但我注意到,最新的DevExpress网格给出了自己的WPF电网这样的特征。基本上你想要首先加载可见项数项,然后在后台线程中加载其余项,以便你的UI不会冻结。后台线程应该一次加载另一个页面,并使它们可用于UI线程。

这是你想约认真思考,并确保你得到它的权利,或者干脆买的辛勤工作为你控制的东西。

+0

后台线程! 就是这个词。 – Shimmy 2009-11-16 08:38:50

0

我从你的链接中获取这是一个web应用程序。那是对的吗?

查询必须在渲染开始前完成并返回数据。 EF功能在这里不会帮助你。相反。看看把你的过程分解成几个可以一次完成的过程。

请记住,如果未完成呈现HTML,则ASP.NET无法向浏览器返回响应。

让我假定您正在执行单个查询,将结果返回并显示给页面。

最好的选择:页面你的结果。如果您有4000条记录,请显示前50位。如果您向用户显示200多条记录,则他们无法消化那么多信息。

如果这不符合您的需求,请查看针对50个结果的一个查询。对剩余的记录进行Ajax调用,并从那里构建UI,大小合理。

+0

我在谈论赢取应用程序,感谢您分享您的知识,这确实有帮助。 – Shimmy 2009-11-16 03:27:49

+3

对异步操作的EF支持仍然有价值 - 当我们等待异步数据库调用时,处理当前请求的线程可以返回到线程池以处理其他请求。但是你是正确的,这不会加速用户对网页加载速度的感知。 – 2010-10-28 21:08:46