1

有人听说过异步执行 EF 查询吗?

我希望在表单加载时正确填写我的项目控件,并且用户应该能够在其余项目仍在加载时查看列表。

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

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

4

2 回答 2

1

不想听起来像商业广告,但我注意到最新的 DevExpress 网格在其 WPF 网格中提供了类似的功能。本质上,您希望首先加载可见计数项目,然后在后台线程中加载其余项目,这样您的 UI 就不会冻结。后台线程可能应该一次加载另一个页面并使它们可用于 UI 线程。

这是您需要仔细考虑并确保您做对的事情,或者只是购买一个可以为您完成艰苦工作的控件。

于 2009-11-16T05:53:36.360 回答
0

我从您的链接中得知这是一个网络应用程序。那是对的吗?

查询必须在渲染开始之前完成并返回数据。EF 功能在这里对您没有帮助。相当。考虑将您的流程分解为可以一次完成的多个流程。

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

让我假设您正在执行单个查询,获取结果并将它们显示到页面上。

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

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

于 2009-11-16T03:06:27.180 回答