我在我的 asp.net 网站项目中广泛使用 DBContext。我通常做的是我有一个页面类可用的 dbcontext 实例,我在页面加载时实例化它并在整个代码中使用它,但是我不会处理它。对我来说使用页面上的 Pre_Render 事件来处理 dbcontext 是否明智(我会假设它在那时已经完成使用?)
感谢您的任何提示。
解决方案
所以我最终为我的 Dotnetnuke 模块编写了一个小扩展类,它为我处理我的 dbcontext,似乎工作得很好,但到目前为止我只在几个模块中推出了它。
public class ModuleExt : PortalModuleBase
{
private BPEntities _ent;
public BPEntities ent
{
get{
if (_ent == null)
{
_ent = new BPEntities();
}
return _ent;
}
}
protected void Page_PreRender(object sender, EventArgs e)
{
ent.Dispose();
}
}
这将使我能够继续使用 ent 对象(我的 DBContext),而不必担心在预渲染时为我完成的处理。