Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

Linq To Sql (Insert-Update-Delete)

Linq To Sql, sadece sorgunun şartına göre sonuç tabloları döndürmekten ibaret bir teknoloji değildir.Kayıt ekleyebilir, güncelleyebilir ve silebiliriz.Ve bu yaptığımız işlemler tabikide veritabanına yansıyacaktır.
Öncelikle Update işleminin LINQ ile nasıl yapıldığını inceleyelim.
Kategorigisi Beverages olan ürünleri çekelim.Ve bu ürünlerin birim fiyatını %10 arttıralım.Yani ürünlerimize %10 oranında zam yapalım.

NorthwindDataContext NW = new NorthwindDataContext();
var Sonuc = from urun in NW.Urunlers
where urun.Kategoriler.KategoriAdi == "Beverages"
select urun;
//Kategorisi Beverages olan ürünlerimizi çektik.
foreach (var item in Sonuc)
{
item.BirimFiyati += item.BirimFiyati * 0.1m;
}
//Koleksiyon içindeki elemanların BirimFiyati özellik değerine %10 zam yaptık.
//Ancak bu değişikliği yapmamız, Database e yansımaz.Bunu database e yansıtmalıyız.
NW.SubmitChanges();
//SubmitChanges() metodu ile koleksiyon içinde yapılan değişiklikler database e yansıtırlır.

Şimdide Insert işlemine değinelim.
Müşteriler tablosuna bir kayıt ekleyelim.

            NorthwindDataContext NW = new NorthwindDataContext();
            Musteriler musteri = new Musteriler
            {
                MusteriAdi = "Gençay",
                MusteriID = "2160",
                Adres = "Ankara",
                Bolge = "Altındağ",
                Faks = "123",
                MusteriUnvani = "Yazılım Uzmanı",
                PostaKodu = "12333",
                Sehir = "Ankara",
                SirketAdi = "GençAy",
                Telefon = "123123",
                Ulke = "Türkiye"
            };
            //Öncelikle müşterimizi oluşturuyoruz.
            //Şimdi bu müşteriyi müşteri koleksiyonuna ekleyelim.
            NW.Musterilers.InsertOnSubmit(musteri);
            //Müşterimiz müşteriler koleksiyonuna eklendi.
            NW.SubmitChanges();
            //Değişiklikleri database e yansıttık.

Son olarak Delete işlemini görelim.

            NorthwindDataContext NW = new NorthwindDataContext();
            Musteriler musteri = NW.Musterilers.Single(Mus => Mus.MusteriID == "2160");
            //ID si 2160 olan müşterimizi elde ettik.
            NW.Musterilers.DeleteOnSubmit(musteri);
            //Müşteriler koleksiyonundan mu müşteriyi sildik.
            NW.SubmitChanges();
            //Son olarak bütün değişiklikleri veritabanına yansıttık.

Gördüğünüz gibi Linq To Sql’de veritabanı işlemleri çok basit ve kullanışlıdır.Faydalanmanız dileğiyle.
Sonraki yazılarımda görüşmek üzere..
İyi çalışmalar 🙂

Bunlar da hoşunuza gidebilir...

4 Cevaplar

  1. burak dedi ki:

    pekı datagridview’e gosterim nasıl oluyor eklediğimiz verileri???Eline sağlık

    • Gencay dedi ki:

      Merhaba,
      Örnek olarak şu şekilde izah edebilirim;
      NorthwindDataContext nw = new NorthwindDataContext();

      private void Form1_Load(object sender, EventArgs e)
      {
      VerileriGetir();
      }

      private void VerileriGetir()
      {
      var Sonuc = from Veri in nw.Musterilers
      select Veri;
      dataGridView1.DataSource = Sonuc;
      }
      Buraya kadar incelerseniz eğer, müşterilerin hepsini VerileriGetir adında metodumuz getiriyor ve datagridviewe gelen sonucu bağlıyor.Form yüklenirkende ilk iş olarak bu metodu çağırıp, datagridview yükletiliyor.

      Varsayayımki gerekli ekleme kodlarını siz yazdınız, yapacağınız tek iş veritabanının son verinin eklenmiş halini tekrardan datagridviewde göstermektir.

      Bunuda tekrardan VerileriGetir metodunu kullanarak yapabiliriz.Yani butona tıklayınca verileri database işletin.Son olarakta verilerigetir metodunu tekrardan cağırıp, en güncel durumu datagridviewde göstertebiliriz.

      Umarım açıklayabilmişimdir, eğer sorun yaşarsanız tekrardan danışabilirsiniz.
      Saygılarımla

  2. Metehan dedi ki:
                Kullanici kullanici = db.Kullanici.Single(X => X.ID == Convert.ToInt32(txtID.Text));
                db.Kullanici.Remove(kullanici);
                db.SaveChanges() ;
    

    silmek için böyle bişey denedim sizdeki gibi delete yok onun yerine remove koydum ve id nin bizim tarafımızdan seçilmesini sağlamaya çalıştım ama convert yaparken hata veriyor convert metodunu tanımıyor vb diye ne yapmalıyım

Gencay için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir