Entity Framework и многопоточность - PullRequest
12 голосов
/ 26 августа 2010

У меня есть служба WCF, которая обрабатывает некоторые сообщения. Я использую EntityFramework для получения сообщений. Я добавляю эти сообщения в очередь ThreadPool, а затем обрабатываю их. После обработки всех сообщений я вызываю обновление Entity Framework для обновления статуса сообщений.

Во время этой операции я случайно получаю сообщение об ошибке: «EntityMemberChanged или EntityComplexMemberChanged были вызваны без предварительного вызова EntityMemberChanging или EntityComplexMemberChanging для того же средства отслеживания изменений с тем же именем свойства. Информацию о правильном сообщении об изменениях см. В документации Entity Framework».

Эта ошибка возникает, когда запускается событие ReportPropetychanged для определенного атрибута.

Любая помощь будет оценена.

Привет

Andy

1 Ответ

15 голосов
/ 26 августа 2010

Не разделяйте ObjectContext - или любой объект, прикрепленный к нему - между потоками. задокументировано, что не является поточно-безопасным .

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