В чем преимущество использования LINQ to SQL DataContext? - PullRequest
3 голосов
/ 18 февраля 2010

В чем преимущество использования LINQ to SQL DataContext? Или проблема в том, что эти объекты DataContext не удаляются?

Например, для легкого кодирования я мог бы сделать что-то вроде ...

var list = from p in (new MyDataContext()).People where p.LastName.Contains("sommar") select p;

В этом случае я создал новый экземпляр экземпляра, но не "закрыл" его или не уничтожил каким-либо образом. Это все еще там, плавающее вокруг с потенциалом, чтобы вызвать у меня проблемы? Чтобы поднять ставку, давайте поместим это в цикл, где он вызывается 2000 раз. У вас есть проблемы с этим? </ italian: accent>

1 Ответ

2 голосов
/ 18 февраля 2010

Контексты данных L2S не нужно закрывать или утилизировать. Тем не менее, я не думаю, что хотел бы делать то, что вы делаете, обновляя новый 2000 раз в цикле. Контекст данных - это объект с большим весом, очень похожий на SQLConnection на основных стероидах. Я не хотел бы накладных расходов на создание 2000 в цикле. OTOH, вы не хотите, чтобы они жили слишком долго.

Новый, сделайте свою единицу работы и затем позвольте платформе избавиться от нее, или сделайте это самостоятельно В этом нет никакого вреда.

...