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

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

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

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

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

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

最佳答案

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

我强烈建议不要将其附加到 HttpContext 或其他生命周期不是很明显或在您控制范围内的项目。您应该始终知道它处于什么状态,并且它不应该受到副作用的影响——例如在视线之外对其进行操作的其他方法。让它尽可能短暂。

关于asp.net - 何时在 WebForms 页面生命周期中实例化 DbContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797791/

相关文章:

html - 在数据列表中设置中继器的样式

entity-framework - Entity Framework 的一些关键字变为红色

c# - OptimisticConcurrencyException:使用共享的AppFabric缓存和相同的数据库的多个基于EF的应用程序

asp.net - 未指定 <head runat ="server"> 时在 HEAD 中插入文字控件?

c# - 一种将 div id 存储为字符串并通过 javascript 将其发送到按钮单击事件的方法

c# - SomePanel.Controls 中的 foreach Control ctrl 未获取所有控件

.net - 可空枚举类型的奇怪行为

asp.net - 使用 F5 刷新页面时再次调用按钮单击事件

c# - ASP.NET:避免在导航按钮回发时使用 RequiredFieldValidator

c# - 如何在不加载表的所有数据的情况下计算事件和非事件统计信息?