Asp.net mvc ASP.NET MVC实体框架ObjectContext

Asp.net mvc ASP.NET MVC实体框架ObjectContext,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我们一直在反复讨论如何为MVC企业解决方案管理ObjectContext。我们正在寻找反对在每个请求上创建一个的利弊 假设我们将产品控制器路由到from\site\product\edit\34。编辑操作调用我们的存储库(当前存储库中有对象上下文)。然后转到视图,用户进行一些更改并点击“更新”。然后返回到product controller编辑操作(这次发布)。模型活页夹将为我带回产品(更新版)。我的问题是,我应该用这个新的“更新”请求创建一个新的对象上下文,还是应该存储上下文(比如在上下文项中

我们一直在反复讨论如何为MVC企业解决方案管理ObjectContext。我们正在寻找反对在每个请求上创建一个的利弊

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


  • 首先,只要可能,web应用程序应该是无状态的。您不希望在应用程序中编写一个依赖项,即向用户提供页面的web服务器必须是处理实际更新的web服务器。您可能不打算立即部署到服务器场,但如果您曾经这样做过,您将不希望必须重写应用程序来完成此操作。这本身就是不尝试将对象存储在某处的一个很好的理由,我甚至没有特别提到实体框架或MVC

    然而,事实证明,ObjectContext是相当轻量级的。如果您在编译时生成视图(Google it),那么花费一次就几乎没有开销