【发布时间】:2022-03-13 08:08:03
【问题描述】:
我正在创建一个 MVC ASP.Net 应用程序,并且我需要在表中显示大量数据,但是,并非所有数据都在我的数据库的一个表中。因此,我创建了一个视图模型来获取所有必要的数据并将其放在一个位置以供我查看。直到最近我开始获取大量数据时,这一直很有效。现在将所有数据从模型移动到视图模型的过程需要很长时间。传统上我会使用延迟加载来减少这个时间,但我不确定如何使用视图模型来做到这一点。这甚至可能吗?
如果您想要任何代码,请告诉我,但我不确定现在需要什么代码。
【问题讨论】:
-
看看this
-
@Shyju 对您的链接做出了很好的回应。我投了赞成票。至于从视图模型中延迟加载,您不必做任何超出正常范围的事情。只需确保您的导航属性是虚拟的,并确保在您的配置类中启用延迟加载(默认情况下已启用)。
-
那篇文章解释了延迟执行的工作原理以及它如何影响性能(当您拥有来自其他表的导航属性时)以及解决该问题的解决方案(使用 dtos 和投影)
标签: c# asp.net-mvc lazy-loading asp.net-mvc-viewmodel