有人听说过异步执行 EF 查询吗?
我希望在表单加载时正确填写我的项目控件,并且用户应该能够在其余项目仍在加载时查看列表。
也许通过自动拆分大量项目的执行(即每次执行的几个查询)都在同一个连接中。
我向Microsoft发布了一个功能建议,也请与您分享他们的想法。
有人听说过异步执行 EF 查询吗?
我希望在表单加载时正确填写我的项目控件,并且用户应该能够在其余项目仍在加载时查看列表。
也许通过自动拆分大量项目的执行(即每次执行的几个查询)都在同一个连接中。
我向Microsoft发布了一个功能建议,也请与您分享他们的想法。
不想听起来像商业广告,但我注意到最新的 DevExpress 网格在其 WPF 网格中提供了类似的功能。本质上,您希望首先加载可见计数项目,然后在后台线程中加载其余项目,这样您的 UI 就不会冻结。后台线程可能应该一次加载另一个页面并使它们可用于 UI 线程。
这是您需要仔细考虑并确保您做对的事情,或者只是购买一个可以为您完成艰苦工作的控件。
我从您的链接中得知这是一个网络应用程序。那是对的吗?
查询必须在渲染开始之前完成并返回数据。EF 功能在这里对您没有帮助。相当。考虑将您的流程分解为可以一次完成的多个流程。
请记住,如果没有完成 HTML 的呈现,ASP.NET 无法向浏览器返回响应。
让我假设您正在执行单个查询,获取结果并将它们显示到页面上。
最佳选择:分页您的结果。如果您有 4000 条记录,请显示前 50 条。如果您向用户显示 200 多条记录,他们无法消化那么多信息。
如果这不符合您的需求,请查看触发一个查询以获得 50 个结果。对剩余的记录进行 Ajax 调用,并从那里以(合理大小的)块构建 UI。