Обработка контекста данных в LINQ to SQL с помощью веб-приложения ASP.NET - PullRequest
0 голосов
/ 07 июня 2011

Я использую контекст данных в своем веб-приложении ASP.NET.

 ComponentDBDataClassesDataContext db = new ComponentDBDataClassesDataContext();
 int ifUserExists = (from result in db.Customers where (userName == result.UserName) && (password == result.Password) select result.UserName).Count();

Должен ли я закрывать контекст данных каждый раз, когда я его использую?Если так, почему я должен закрыть это?Если это не должно быть закрыто, почему?

Может ли кто-нибудь дать мне какое-то сложное и ясное объяснение?

Спасибо в ожидании

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Об этом уже много написано. В общем, я советую вам придерживаться одного datacontext для единицы работы earch. Поэтому включайте его при помощи () каждый раз, когда вы его используете.

Посмотрите здесь хорошую статью: http://www.west -wind.com / блог / сообщений / 2008 / Февраль / 05 / Linq к SQL-DataContext-Lifetime-менеджмент

Или в стеке: Когда мне следует избавиться от контекста данных

1 голос
/ 07 июня 2011

Когда у вас есть DataContext, он помогает вам отслеживать изменения в объектах, которые были извлечены из его таблиц или прикреплены к таблицам.

Так что вам, вероятно, не следует каждый раз закрывать текстовый текст данных, но если вы не полагаетесь на текстовый текст данных для отслеживания всех своих изменений - и у вас есть экземпляр, похожий на одиночный, вам, вероятно, следует ограничить время жизни каждого экземпляра на using экземпляры и отправка / откат по каждой операции.В противном случае вы будете занимать много памяти для смены трека.

Но я думаю, что сложно дать простой ответ «да / нет» на ваш вопрос.

...