Entity Framework 4 - продолжительность жизни / контекст контекста в приложении winform - PullRequest
12 голосов
/ 14 апреля 2011

Извините за еще один вопрос о продолжительности жизни в контексте EF4, но я некоторое время размышлял над этим и, похоже, не нашел ответа.Я не очень знаком со многими шаблонами или слишком сложными вещами (на мой взгляд), поэтому я хочу, чтобы все было просто.

Я работаю с приложением ASP.NET, где контекст управляется каждым httpзапрос, который, на мой взгляд, является очень хорошим подходом.

Однако сейчас я работаю с приложением winforms, и иногда у меня появляются транзакции или отчеты, которые не будут работать очень хорошо, если я просто создаю контекст для каждого запроса.Не то чтобы проблема с производительностью была очень проблематичной, я просто хочу услышать, есть ли простая стратегия в соответствии с HTTP-запросом в ASP.NET для winforms?

1 Ответ

16 голосов
/ 14 апреля 2011

Не создавайте контекст для каждого запроса. В то же время не создавайте контекст, который будет использоваться в течение всего времени существования формы (или вашего приложения).

Создание контекста для одной единицы работы (которая может охватывать множество запросов).

Таким образом, все ваши изменения инкапсулируются в контексте, и вы позволяете Entity Framework обернуть вызовы базы данных в довольно маленькую транзакцию, не беспокоясь об этом самостоятельно.

Я предпочитаю абстрагировать шаблоны репозитория и единицы работы из контекста сущности, чтобы я мог использовать их независимо (что делает все очень ясно). На самом деле MSDN имеет достойную статью о деталях:

MSDN - Использование шаблонов репозитория и единиц работы с Entity Framework 4

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