Linq Insert – Update – Delete

Merhaba arkadaşlar,

Bu yazımda başlıktan da anlaşıldığı üzere Linq Sorgularıyla Insert, Update, Delete (Linq ile Kayıt Ekleme-Silme-Güncelleme) işlemlerinin nasıl yapıldığından bahsedeceğim. Önceki yazımda da bahsettiğim gibi Linq da select ya da ınsert gibi anahtar kelimelerle uzun uzun sorgu cümleleri yazılmıyor. Peki o zaman nasıl yaparız bu işlemleri dediğinizi duyar gibiyim. O yüzden vakit kaybetmeden konumuza geçiyorum.

Öncelikle şunu bilmeliyiz ki veritabanında değişiklik yapmak istediğimiz noktada SubmitChanges() metodunu kullanıyoruz.

Insert, Update, Delete işlemlerine geçmeden önce kullanacağımız nesneleri içeren DataContext nesnesi tanımlamasını yapmalıyız. LINQ to SQL Classes (.dbml) dosyaları veritabanında yer alan veri nesnelerini doğrudan uygulamamıza classlar olarak aktarmamızı sağlar. (Ben Linq Class ı Database.dbml ismiyle oluşturduğum için tanımlamam aşağıdaki gibi. LINQ to SQL Classes konusuna bu yazımdan ulaşabilirsiniz.)

 

Şimdi gelelim Insert işlemimize.  DataContext sayesinde Urunlertbl tablosuna uygulamamızda veri class’ı olarak erişebiliyoruz. Urunlertbl tablosundan bir nesne üretip tablonun istediğimiz kolonuna aşağıdaki gibi değer atıyoruz. Ardından bu nesneyi yeni bir ürün olarak veritabanına kaydetmek için InsertOnSubmit() methodunu aşağıdaki gibi kullanıyoruz ve ardından Data.SubmitChanges() methodu ile değişiklikleri kaydediyoruz.

 

Ürün ekleme işleminde yeni bir nesne üretip istediğimiz gibi doldurup veritabanına ekledik fakat güncelleme işleminde zaten varolan bir nesne üzerinde değişiklik yapacağız. İşte bu nesneyi de id sinden bulup getiriyoruz. Söylediğim gibi zaten varolan bir nesneyi güncelleyeceğimiz için sadece Data.SubmitChanges() ile yaptığımız değişiklikleri kaydet diyoruz.

 

Gelelim Delete yani silme işlemine. Burada da varolan bir kaydı sileceğimiz için önce id sinden ulaşıp o kaydı getiriyoruz. Ardından DeleteOnSubmit() methodu ile siliyoruz ve değişiklikleri kaydediyoruz.

 

Linq ile Insert, Update, Delete bundan ibaret.Soru ve görüşleriniz için yorum yapabilirsiniz. Kolay gelsin .. 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir