【发布时间】:2011-03-30 15:39:02
【问题描述】:
我正在使用 Entity Framework Code Fist 设置一个新应用程序,并且正在寻找方法来尝试尽可能减少到 SQL Server 的往返次数。
当我第一次阅读 .Local 属性 here 时,我对在处理管道的早期关闭整个对象图然后在以后使用 .Local 的可能性感到兴奋,而不必担心会产生额外回合的成本旅行。
现在我正在玩它,我想知道是否有任何方法可以在一次往返中删除单个请求所需的所有数据。例如,如果我有一个网页,上面有一些列表、新闻、事件和讨论。有没有一种方法可以在一次往返中将他们 3 个不相关的源表的记录记录到 DbContext 中?互联网上的所有人都认为单个页面与数据库服务器进行 20 次往返是完全没问题的吗?我想通过适当的缓存机制可以缓解这个问题。
在一次往返中从 EF 查询返回多个结果时,我确实遇到了 couple 和 cracks,但我不确定这些解决方案的复杂性和成熟度是否值得。
一般而言,在组合要传递给 MVC 控制器的数据集方面,您是否认为最好对您需要的每组记录进行单独的查询,然后使用以下任一方法担心缓存层的大部分性能EF Caching Provider 或 asp.net 缓存?
【问题讨论】:
-
也请看看这个答案:stackoverflow.com/a/49687720/538387
标签: entity-framework entity-framework-4.1