Мне нужен мой linq для sql datacontext, который будет доступен на моем уровне бизнеса/данных для всех моих объектов репозитория для доступа. Однако, поскольку это веб-приложение, я хочу создать и уничтожить его для каждого запроса. Мне интересно, если бы один одиночный класс, который может лениво создать и прикрепить datacontext к текущему HttpContext, будет работать. Мой вопрос: будет ли datacontext автоматически удаляться после завершения запроса? Ниже приведен код, о котором я думаю. Это выполнит мою задачу: иметь потокобезопасный экземпляр datacontext, который лениво доступен и автоматически удаляется, когда запрос заканчивается?с linq to sql datacontext to httpcontext в бизнес-слое
public class SingletonDC
{
public static NorthwindDataContext Default
{
get
{
NorthwindDataContext defaultInstance = (NorthwindDataContext)System.Web.HttpContext.Current.Items["datacontext"];
if (defaultInstance == null)
{
defaultInstance = new NorthwindDataContext();
System.Web.HttpContext.Current.Items.Add("datacontext", defaultInstance);
}
return defaultInstance;
}
}
}