2011-12-22 2 views
1

Я новичок в платформе Entity Framework, поэтому простите меня, если вопрос кажется основным. Мне интересно, лучше ли сохранять объект контекста, созданный Entity Framework, для его использования над приложением, или я должен создавать новый объект контекста каждый раз, когда я хочу получить доступ/изменить базу данных?Должен ли я сохранять объект контекста в Entity Framework?

Чтобы сформулировать вопрос по-другому, будут ли возникать проблемы с производительностью, если я слишком часто создаю объект контекста? Или будут ли какие-либо проблемы с базой данных (например, блокировка базы данных), если я сохраню объект контекста в течение всего срока службы приложения?

ответ

4

Контексты как EF, так и Linq2SQL рассчитаны на короткий срок службы. Если вы обслуживаете веб-страницы, лучше всего использовать один контекст для HTTP-запроса.

Но я думаю, что это относится и к другим ОРМ. Все используют какое-то кэширование и отслеживание изменений объектов, что может привести к появлению странных ошибок, если контекст живет слишком долго или делится между запросами.

Редактировать: все может быть иначе, если вы пишете толстое клиентское приложение.

+0

Спасибо за информацию :-) – Rafid

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