我已阅读this帖子,我对于创建和使用datacontext的最佳方式感到困惑?
我一直以为你应该使用像下面这样的单身(+锁定)
private static ModelDataContext dataContext=null;
protected static ModelDataContext DataContext
{
get
{
if(dataContext==null)
dataContext = new ModelDataContext();
return dataContext;
}
}
然而,他在短短的文章中写道:
LINQ DataContexts缓存您所做的一些数据和更改 - 如果每个实例的处理速度都不快,您可以快速占用内存。 TableAdapters保存打开的SQLConnections以供重用 - 因此,如果您使用足够的TableAdapter类,则可以使用足够的不同静态变量来绑定所有数据库连接。
并建议使用下面的模型
protected static ModelDataContext DataContext
{
get
{
if(System.Web.HttpContext.Current.Items["ModelDataContext"]==null)
System.Web.HttpContext.Current.Items["ModelDataContext"] = new ModelDataContext();
return (ModelDataContext)System.Web.HttpContext.Current.Items["ModelDataContext"];
}
}
你有什么想法?