Сблъсквал съм се със същия sssue. Ако резбованото приложение използва един и същ контекстен обект за всички нишки, ние се сблъскваме с този вид проблеми. Създайте отделни контекстни обекти за всяка нишка. Може да добавяте малко повече натоварване към вашата RAM, но дава яснота относно състоянията на обектите в контекста.
List<Task> tasks = new List<Task>();
foreach (var item in list)
{
ObjectContext oContext = new ObjectContext("MyConnection");
Task t = Task.Factory.StartNew(() =>
{
this.Update(item,oContext);
});
tasks.Add(t);
}
Task.WaitAll(tasks.ToArray());