Должны ли сущности EF4 сохраняться в том же потоке, который их создал? - PullRequest
1 голос
/ 19 марта 2012

Должны ли сущности EF4 сохраняться в том же потоке, который их создал? Кажется, я теряю свои изменения, или мой код выдает исключение ObjectContext, если я это делаю.

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

Если это так, могут ли они хотя бы быть изменены другими потоками, а затем сохранены созданным потоком?

1 Ответ

2 голосов
/ 19 марта 2012

ObjectContext класс не является потокобезопасным (см. Раздел примечаний в msdn ).Изменение сущностей , прикрепленных к контексту в разных потоках, также не рекомендуется, поскольку ObjectStateManager также не безопасен для потоков.Основной поток мог избавиться от контекста, когда другие потоки обращаются к объектам, тем самым выбрасывая удаленные исключения.

Вы можете попробовать отсоединить объекты, а затем изменить объект в других потоках и снова присоединить их.Рекомендуемая практика - использовать контекст в потоке.

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