Bu hata oluştuğunda Entity Framework " An error occurred while starting a transaction on the provider connection. See the inner exception for details." hatasını fırlatıyor iç hataya baktığımızda "New transaction is not allowed because there are other threads running in the session " bu hatayı görüyoruz. Sebebi foreach veya for döngüsü içinde değişiklik kaydetme işlemi yaptığımızda fırlatıyor. (context.SaveChanges())
Çözümü:
Kayıt işlemini döngülerin dışına almak
Bugün sebebini bilmediğim bir durumdan aynı hatayı aldım ama döngü kullanmamıştım ya da kullandığım yeri bulamadım. O yüzden şöyle bir şey yaptım. Lazım olan yeri ayrı bir context içine alarak işlemi tamamlayabildim.
{
a.name = "Kodstrap";
}
context.SaveChanges();
{
//Kodlar
}
Yani döngü kullanmadan böyle bir şey denk gelirse bu şekilde işlemi devam edebilirsiniz.