Обновить ObjectContext или воссоздать его, чтобы отразить изменения, внесенные в базу данных? - PullRequest
0 голосов
/ 21 июля 2010

У меня есть веб-сервис, который предоставляет операции в и из базы данных. Я использую Entity Framework 4 для DAL.

Мне интересно, что было бы лучшим способом для обработки операций в и из базы данных. Не лучше ли сохранить экземпляр ObjectContext и создать его для каждой операции, выполняемой с базой данных? Кажется, это очень плохой способ справиться с этим, но я не могу придумать другой способ не отставать от изменений, внесенных в базу данных.

Если я сохраню тот же контекст, как он узнает, когда данные были изменены? Я понимаю, что при запросе к базе данных ObjectContext просто проверяет, были ли записи добавлены или удалены, путем проверки полей первичного ключа (я прав?). В этом случае я должен явно сказать ему, чтобы обновить конкретный объект, что не очень практично.

Я имею в виду решение, в котором используется столбец метки времени, а объектный текст проверяет этот столбец на наличие изменений. Если этот столбец изменяется, он обновляет данные. Такое решение построено внутри Entity Framework 4? Или у кого-нибудь есть другие предложения о том, как я всегда могу получить последние данные из базы данных, не воссоздавая ObjectContext для каждого запроса?

1 Ответ

2 голосов
/ 21 июля 2010

ObjectContext предназначен для использования в качестве Единицы работы, поэтому вы создаете его для каждой бизнес-транзакции и впоследствии утилизируете его.

EF - и шаблон репозитория - несколько контекстов

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