Является ли EF4 ObjectContext.SaveChanges потокобезопасным?

Я обращаюсь к своей базе данных через Entity Framework 4.

У меня есть сервер, который прослушивает порт, ожидая некоторых сообщений. Когда приходит сообщение, оно переводится в строку таблицы и должно быть вставлено в базу данных. Однако одновременно может приходить несколько сообщений. Для каждого сообщения я создаю Задачу (из TPL) и выполняю ее асинхронно.

Каждая из этих задач создает экземпляр ObjectContext, создает объект соответствующего класса сущности (представляет таблицу в БД), вставляет данные в ObjectContext, а затем вызывает метод SaveChanges.

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

(Обратите внимание, что вставленные данные не вызовут ошибок ссылочной целостности).

0
задан Kornelije Petak 13 December 2011 в 14:46
поделиться