Entity Framework (3.5) - отклонить изменения

У меня есть этот сервис, который является Singleton и однопоточным и обслуживает группу клиентов с небольшим объемом. Он использует Entity Framework и Data в SQL Server.

Если какой-либо из запросов клиента на сохранение данных не выполняется, все последующие запросы не выполняются, так как каждый раз при попытке сохранить исходный ошибочный объект данных.

Есть ли способ отменить изменения в данных EF при сбое сохранения?

Заранее спасибо

11
задан Bhuvan 18 August 2010 в 18:47
поделиться

2 ответа

Ответ на вопрос: «Вы не можете отменить изменения контекста», вместо этого, как объяснил Марк, необходимо отказаться от ObjectContext.

4
ответ дан 3 December 2019 в 03:51
поделиться

Сущностные модели / контексты данных и т. Д. лучше всего обрабатываются как единицы работы. Если вам нужно отменить его, просто откажитесь от контекста и начните с нового. А если получится, все равно откажитесь! Каждый запрос действительно должен использовать отдельные контексты данных, иначе вы можете столкнуться с рядом проблем:

  • многопоточность (хотя, похоже, вы избежали этого, сделав его однопоточным)
  • рост данных (есть идентификация диспетчер; каждая строка, которую вы касаетесь , остается вокруг; фактически несколько раз)
  • общая изоляция и т. д.
  • управление временем жизни соединения (блокировка открытого соединения)
  • и т. д.
11
ответ дан 3 December 2019 в 03:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: