我打算在ASP.NET WebForms应用程序中迁移到EF进行数据访问。我想知道ASP.NET页面生命周期中的适当时间何时创建我的派生DbContext。
是否应该在页面初始化时创建并在各种页面生命周期事件期间共享?
是否应该在需要数据访问的特定页面生命周期事件期间创建它?
是应该在创建应用程序请求时创建并通过HttpContent共享?
答案 0 :(得分:1)
这不是具体的答案,但DbContext是围绕工作单元模式设计的。在实践层面上,它旨在用于新的,用于明确定义(可见)的操作集,提交和处置。
我强烈建议不要将它附加到HttpContext或其他生命周期不明显或在您控制范围内的项目。你应该总是知道它处于什么状态,并且它不应该受到副作用 - 例如其他方法在它之外操作。保持尽可能短暂。