Saya dulu menghadapi masalah yang sama. Jika aplikasi berulir menggunakan objek konteks yang sama untuk semua utas, kami menghadapi masalah semacam ini. Buat objek konteks terpisah untuk setiap utas. Anda mungkin menambahkan lebih banyak beban pada RAM Anda tetapi itu memberikan kejelasan tentang keadaan entitas dalam Konteks.
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());