何时在WebForms页面生命周期中实例化DbContext?

时间:2012-03-21 02:21:15

标签: asp.net entity-framework page-lifecycle dbcontext

我打算在ASP.NET WebForms应用程序中迁移到EF进行数据访问。我想知道ASP.NET页面生命周期中的适当时间何时创建我的派生DbContext。

是否应该在页面初始化时创建并在各种页面生命周期事件期间共享?

是否应该在需要数据访问的特定页面生命周期事件期间创建它?

是应该在创建应用程序请求时创建并通过HttpContent共享?

1 个答案:

答案 0 :(得分:1)

这不是具体的答案,但DbContext是围绕工作单元模式设计的。在实践层面上,它旨在用于新的,用于明确定义(可见)的操作集,提交和处置。

我强烈建议不要将它附加到HttpContext或其他生命周期不明显或在您控制范围内的项目。你应该总是知道它处于什么状态,并且它不应该受到副作用 - 例如其他方法在它之外操作。保持尽可能短暂。