Entity Framework, Error when deleting data from multiple tables at the same time

49 Views Asked by At
using (TransactionScope scope = new TransactionScope())
{
    var ListTumu1 = entities.tapubilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    var ListTumu2 = entities.imardurumubilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    var ListTumu3 = entities.yapibilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    var ListTumu4 = entities.sondajbilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    var ListTumu5 = entities.sismikbilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    var ListTumu6 = entities.arastirmacukurubilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    var ListTumu7 = entities.rezistivitebilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    var ListTumu8 = entities.microtremorbilgileri.Where(p => p.kullaniciadi == KullaniciAdiKullanici && p.raporadi == RaporAdiKullanici).ToList();
    ///...
    ///...
    ///...

    entities.tapubilgileri.RemoveRange(ListTumu1);
    entities.imardurumubilgileri.RemoveRange(ListTumu2);
    entities.yapibilgileri.RemoveRange(ListTumu3);
    entities.sondajbilgileri.RemoveRange(ListTumu4);
    entities.sismikbilgileri.RemoveRange(ListTumu5);
    entities.arastirmacukurubilgileri.RemoveRange(ListTumu6);
    entities.rezistivitebilgileri.RemoveRange(ListTumu7);
    entities.microtremorbilgileri.RemoveRange(ListTumu8);
    ///...
    ///...

    try
    {
        entities.SaveChanges();

        scope.Complete();
        acceptStatus = true;
    }
    catch (System.Exception ex)  //Exception kontrolü yapmamızda yarar var 
    {
        Console.WriteLine("Sorun var!");
    }
}

if (acceptStatus)
{
    // Db.AcceptAllChanges();
}

Entity Framework, I am trying to delete data from multiple tables at the same time with the code below, but after a while, I get an error

The underlying provider failed on Open

I wonder what is the reason for this error?

Also, deleting data this way is very slow. SQL login is performed for each table. Is there a faster way to do this?

0

There are 0 best solutions below