ASP.NET MVC实体框架ObjectContext

时间:2009-09-30 14:15:04

标签: asp.net-mvc entity-framework

  1. 我们一直在讨论如何管理我们的MVC企业解决方案的ObjectContext。我们正在寻找storing your ObjectContext between requests的利弊,反对在每个请求上创建一个。

  2. 假设我们将产品控制器从\ site \ product \ edit \ 34路由到。编辑操作调用我们的存储库(当前在存储库ala NerdDinner中具有对象上下文)。然后它进入视图,用户进行一些更改并点击“更新”。然后返回到产品控制器编辑操作(此时间后发布)。模型绑定器将带回我的产品(更新)。我的问题是,我应该使用这个新的“更新”请求创建一个新的对象上下文,还是应该存储上下文(比如在上下文项中)并从我保存在页面上的某个id调用它?

1 个答案:

答案 0 :(得分:3)

首先,只要有可能,您的Web应用程序应该是无状态的。您不希望在应用程序中编写依赖关系,即为用户提供页面的Web服务器必须是处理实际更新的Web服务器。您可能不打算立即部署到服务器场,但如果您进行了跳转,则不必重写应用程序来执行此操作。仅此一点是不尝试将对象存储在某处的好理由,我甚至没有特别提到实体框架或MVC。

事实证明,ObjectContext实际上相当轻量级。如果你在编译时进行视图生成(Google it),那么花一点钱就可以获得很少的开销。