我一直在尝试使用 Entity Framework 4.1 实现一个新的 MVC3 项目,该项目在 Application_BeginRequest 上实例化 dbContext,并将其部署在 Application_EndRequest 上
protected virtual void Application_BeginRequest()
{
HttpContext.Current.Items["_EntityContext"] = new EntityContext();
}
protected virtual void Application_EndRequest()
{
var entityContext = HttpContext.Current.Items["_EntityContext"] as EntityContext;
if (entityContext != null)
entityContext.Dispose();
}
EntityContext 类定义如下:
public class EntityContext : MyEntities, IDisposable
{
**//should this be static?**
public static EntityContext Current
{
get { return HttpContext.Current.Items["_EntityContext"] as EntityContext; }
}
void IDisposable.Dispose()
{
Current.Dispose();
}
我的问题是,将我的 Current 属性定义为静态会在多用户场景中导致任何问题吗?