1. Anasayfa
  2. ASP.Net

Language Integrated Query (LINQ) – Linq to SQL- Bölüm 2


0

Bir önceki yazımızda Linq konusuna giriş yapmış, örnek olarak bir diziye Select sorgusu yapmıştık. Bu bölümde veri tabanı ile çalışıp, select, insert, update ve delete işlemlerine örnekler yapacağız.

Öncelikle MS SQL Server 2012 Express’i açıp ilişkisel bir veritabanı oluşturuyorum.

Veritabanımda 3 adet tablo olacak öğrenci tablosu, ders tablosu ve sınav notları tablosu.

Daha sonra Visual Studio’yu açıp yeni bir consol projesi yaratıyorum. Projeyi yarattıktan sonra Solution Explorer’da projemin üzerine sağ tuşla tıklayarak Add New Item seçeneğini seçip bir Linq to Sql Classes ekliyorum.


Resim-1

Örnekteki gibi Okul olarak isimlendirdikten sonra projeme ekliyorum.

Açılan pencereye tablolarımı sürükleyip bırakmak için Server Explorer ‘a gelip yeni bir connection ekliyorum. Daha sonra tablolarımın hepsini seçip Linq to Sql Classes ekledikten sonra açılan pencereye sürükleyip bırakıyorum.


Resim-2


Resim-3

Artık biraz kod yazmaya başlayabiliriz. Program.cs’yi açıp aşağıdaki kodlamaları yaparak veri tabanına yeni bir öğrenci kaydı oluşturuyorum.

Integer değer döndüren InsertOgr isimli methodu inceleyelim.

İlk satırda var keyword’ü ile dc isminde bir OkulDataContext tipinde data context nesnesi oluşturdum. Bunu bir önceki adımda yaptığımız işlemler sonucu Visual Studio otomatik oluşturmaktadır. Bu nesnede “.” ya bastığımız zaman intellisense menüsünde tablo isimlerimizin sonuna İngilizcede çoğul anlamına gelen “s” ekini alarak geldiğini görmekteyiz. Bu nesne sayesinde veri tabanı işlemlerimizi yöneteceğiz.


Resim-4


Resim-5

Diğer veritabanı işlemleri için select, update ve delete methodları da aşağıdaki gibi oluşturdum.


Resim-6

Şimdi bir öğrencinin notlarını ekrana yazdıralım.

Aşağıdaki gibi bir öğrenci kaydını GetOgrById methodu ile getirip öğrencinin ders adı ve sınav notu bilgisine erişerek ekrana yazdırabiliyorum. Dikkat ederseniz diğer tablolarım ile ilgili hiçbir method çağrımı ya da hiçbir sorgu yapmamış olmama rağmen “ogr” nesnem üzerinden bu bilgilere de erişebiliyorum.


Resim-7


Resim-8

Bir sonraki LINQ yazımda görüşmek üzere. Sürçü lisan ettiysem affola.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

2004 yılından beri Bilişim sektöründe profesyonel olarak çalışmaktayım. Microsoft teknolojilerini kullanarak daha çok Web ağırlıklı yazılım geliştirmekteyim.

Yazarın Profili
İlginizi Çekebilir
031520_1854_BlazorNedir1.jpg

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

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