Entity Framework Çoklu Işlemler 56295629 okunma
Entity Framework ile işlemler yaparken birden fazla satır işlemleri yapmak isteyebiliriz. Bunun için birçok metod bulunuyor. Silme ve güncelleme işlemleri için farklı metodlara değineceğiz. Ihtiyaca göre EF'nin yeni sürümlerinde farklı metodlar görüyoruz. Hepsi pratik işlemler.
Çoklu veri silme işlemi: RemoveRange
Kullanımı son derece kolay. Örnek:
db.Instructors.RemoveRange(db.Instructors.Where(x => x.FullName == "Recep Şerit"));
db.SaveChanges();
Çoklu veri silme işlemi için alternatif: ForEach ve DeleteObject
Örnek:
db.Instructors.Where(w => w.FullName == "Recep Şerit").ToList().ForEach(db.Instructors.DeleteObject);
db.SaveChanges();
Özetle, önce koşula göre listeliyor, ardından ForEach metoduyla bir döngüye dahil ediliyor, her bir objeyi de siliyor.
Çoklu kayıt güncelleme: ForEach döngüsü
Örnek:
db.Instructors.Where(x => x.FullName == "Recep").ToList().ForEach(x => x.FullName = "Richard");
db.SaveChanges();
Bu işlemi döngü içinde de yapabilirsiniz. Şöyle ki:
foreach (var k in db.Instructors.Where(x=> x.FullName == "Recep").ToList())
{
k.FullName = "Richard"
}
db.SaveChanges();
Çoklu işlemler için en iyi alternatif: ExecuteStoreCommand
Metodumuz veritabanı tarafından SQL sorgusuyla işlem yapıyor. Bu metodla da güncelleme, silme gibi işlemler yapılabilir.
Örnek:
string Name = "Recep";
DB.ExecuteStoreCommand("DELETE FROM Instructors WHERE FullName = {0}", Name);
Umarım faydalı olur.
Recep ŞERIT
BİR YORUM YAZIN