Kdysi jsem čelil stejnému problému sssue. Pokud aplikace s vlákny používá stejný kontextový objekt pro všechna vlákna, čelíme těmto problémům. Vytvořte samostatné kontextové objekty pro každé vlákno. Možná přidáváte více zátěže do paměti RAM, ale dává to jasnější o stavech entit v kontextu.
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());