Должен ли я сохранить объект контекста в Entity Framework? - PullRequest
1 голос
/ 22 декабря 2011

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

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

1 Ответ

4 голосов
/ 22 декабря 2011

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

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

Редактировать: вещи могут отличаться, если вы пишете толстый клиентприложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...