2010-05-17 2 views
0

Я проверяю свое приложение с помощью профилировщика linq 2 sql, и я заметил, что он открывает много datacontexts, большинство из них открываются с помощью источника данных linq, который я использовал, поскольку мои репозитории используют только экземпляр, хранящийся в Request.Items , плохо ли открыть слишком много данных? и как я могу заставить свой linqdatasource использовать datacontext, который я храню в Request.Items на время запроса? спасибо за любую помощь!Открывает слишком много datacontexts плохо?

ответ

0

Если открыть и закрыть их, совсем не так.

Но если вы находитесь в TransactionScope, игра меняется! Открытие и закрытие многих вложенных DataContexts усложняло нас, потому что это заставляло наши транзакции продвигаться к распределенным транзакциям, что несколько замедляло нашу систему и серьезно сокращало масштабируемость нашей системы.

1

DataContexts предназначены для короткого срока службы. Открытие многих из них не обязательно плохо. Хорошее эмпирическое правило состоит в том, что каждая «единица работы» должна иметь свой собственный DataContext.

См. Это article для более подробной информации.

Лучше ошибиться в сторону более короткой жизни

Смежные вопросы