Ik had vroeger met hetzelfde probleem te maken. Als de threaded-app hetzelfde contextobject gebruikt voor alle threads, hebben we met dit soort problemen te maken. Maak afzonderlijke contextobjecten voor elke thread. Misschien voegt u wat meer belasting toe aan uw RAM, maar het geeft duidelijkheid over toestanden van entiteiten in Context.
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());