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