LINQ Birden çok veri ekleme ve silme işlemi

by Alper KOCA 9. Haziran 2009 20:56

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 :)

Tags: , , , ,

LINQ

Powered by BlogEngine.NET 1.6.1.0 - FunkyGrunge Theme by n3o Web Designers

 

Alper KOCA

Alper KOCA
Çukurova Üniversitesi Bilgisayar Mühendisi
3. Sınıf Öğrencisi
Microsoft Student Partner