Bugün yazdığım LINQ Insert, Update, Delete makalemde verilerimizi tek tek eklemeyi ve silmeyi görmüştük. Şimdi ise size toplu ekleme ve toplu silme olaylarından bahsedecem.
İlk başta verilerimiz veritabanımıza kaydedelim.
yine bir önceki tablomla çalışacam.
user[] alper = {
new user() { name = "alper", surname = "koca", user_name = "alperkoca" },
new user() { name = "alper", surname = "koca", user_name = "alperkoca" },
new user() { name = "alper", surname = "koca", user_name = "alperkoca" },
new user() { name = "alper", surname = "koca", user_name = "alperkoca" },
new user() { name = "alper", surname = "koca", user_name = "alperkoca" },
new user() { name = "alper", surname = "koca", user_name = "alperkoca" } };İlk başta user nesnemin dizisini oluşturdum ve içerisine bir kaç veri ekledim. Şimdi bunu eklemeye çalışalım. Bir önceki makalemde InsertOnSubmit() metodunu kullanmıştık bu sefer ufak bir değişiklik yapacaz ve başka bir metodumuz olan InsertAllOnSubmit() metodunu kullanacaz.
context.users.InsertAllOnSubmit(alper);
context.SubmitChanges();
Sonrada değişiklikleri veritabanımıza kaydetmesini söylicez. Tüm veriler kısaca veritabanımıza eklenmiş oldu. Artık sıra bunları silmeye geldi :)
Silme işleminde ilk olarak hangi verileri sileceğimizi veritabanımızdan istememiz gerekiyor. Bunun için
var uyeler = from u in context.users where u.name == "alper" select u;
Sorgusuyla uyeler değişkenine verilerimizi yükledik. uyeler değişkenimizde artık insert ile eklediğimiz 6 tane verimiz var. İstersek bunları geçen makalemde yaptığım gibi silerbiliriz. foreach kurarız ve tek tek silebiliriz. Bu iş biraz uzun :( Tek satır kod yazmak varken neden işimi 5 satıra çıkarim ? işte bunun için imdadıma DeleteAllOnSubmit() metodum yetişti ve beni kurtardı :)
context.users.DeleteAllOnSubmit(uyeler);
context.SubmitChanges();
artık tüm verilerimiz geri silindi hemde 3 satır kod ile :)