我想将 dbContext 的生命周期与 session 的生命周期联系起来,例如,能够通过多个请求提交或放弃对 dbcontext 上的一组突变的更改。

有没有其他(更好的?)方法来实现这一目标?如果不是,创建和处理上下文的合适机制是什么?我正在考虑在 session 结束时清理静态哈希表,但也许我做错了。我也在考虑只保留那些必须处理多个请求的上下文的想法,并保留每个 Action 的其余部分。有什么建议吗?

最佳答案

您可以使用 IoC(Inversion of Control) 容器来管理 DBContext 的生命周期,例如 StructureMap ,步骤如下:

  • 为 MVC 4 安装 nuget 包:
    http://nuget.org/packages/StructureMap.MVC4
  • 阅读快速入门:
    http://docs.structuremap.net/QuickStart.htm
  • 设置 DBContext 的范围:
    http://docs.structuremap.net/Scoping.htm

  • 您还可以使用 存储库和工作单元模式 的组合来提交或放弃对多个请求的 dbcontext 上的一组突变的更改。

    关于entity-framework - 管理 dbContext 的生命周期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13067793/

    10-13 03:17