我计划迁移到 EF 以在 ASP.NET WebForms 应用程序中访问数据。我想知道 ASP.NET 页面生命周期中何时是创建派生 DbContext 的适当时间。
是否应该在页面初始化时创建并在各种页面生命周期事件期间共享?
当需要数据访问时,是否应该在特定页面生命周期事件期间创建它?
是否应该在应用程序请求创建时创建并通过 HttpContent 共享?
最佳答案
这不是一个具体的答案,但 DbContext 是围绕工作单元模式设计的。在实践层面上,它旨在被新建、用于一组明确定义的(可见的)操作、提交和处置。
我强烈建议不要将其附加到 HttpContext 或其他生命周期不是很明显或在您控制范围内的项目。您应该始终知道它处于什么状态,并且它不应该受到副作用的影响——例如在视线之外对其进行操作的其他方法。让它尽可能短暂。
关于asp.net - 何时在 WebForms 页面生命周期中实例化 DbContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797791/