我有一个视图,它调用四个不同的局部视图 (.ascx) 来通过 RenderAction 调用填充视图的一部分。每个部分视图都使用相同的视图模型,但每个视图都通过底层模型中自己的 EF 查询返回一组不同的数据。正如您从视图模型的共享中所假设的那样,部分视图都返回几乎相同类型的信息——不同之处在于过滤。例如“新品”vs.“热销品”vs.“推荐品”等。
我得到了我想要的数据,但我需要解决结构问题,因为我的表现很差。每个单独查询的性能似乎都不算太差(我使用过 LinqPad 并在 SQL Server 中测试了生成的 SQL,性能非常好)。然而,总的来说,页面加载时间很差,因为我切换类别并重新加载页面。
我可以调用一个提取所有内容(全部 4 个)然后将结果过滤到各个部分视图中的查询,而不是针对 SQL 服务器调用 4 个查询吗?这会更好吗?
非常感谢您的建议/建议。