LINQ / EDM缓存在webapp中的效率

时间:2010-11-06 03:14:07

标签: asp.net sql linq ado.net linq-to-entities

我正在学习如何使用LINQ / EDM组合来检索和更新简单的用户线程和评论webapp,作为评估它的一部分。
当我打开SQL事件探查器时,我很少看到我的应用程序执行的SQL语句 我开始真的很喜欢它保持缓存的能力,因为我一添加新数据就会在我眨眼时神奇地更新自己。

但这是我应该害怕的吗? 我担心的是当我使用它制作一个带有一些流量的webapp(无论什么命中数达到这种方法的标准杆) 我应该在应用级别保留单个上下文对象,以便不同的会话可以从彼此的缓存条目中受益吗? 或者我应该在每个页面提交时进行创建和发布吗?

我知道这听起来像一个开放式的问题,但我真的有一个问题:实体在使用LINQ时如何缓存其数据?

1 个答案:

答案 0 :(得分:1)

ObjectContext问题上,您应该使用每页请求周期或更短的生命周期。它专为工作单元而设计,而不是用于应用程序生命周期。在SO中搜索“ObjectContext lifetime”或“DataContext lifetime”,你会发现这是一个常见的问题。