Ekrem
Kategori:Merak Ettiklerim
| Tarih:
20.12.2011 23:19:39
Bu yazı 1180 defa okundu
LINQ to SQL
LınQ in SQL ile ilişkisi üzerine yazılmış bir yazı. Meraklısına
Bir süredir aktif bir şekilde ilgilendiğim LinqToSql ile ilgili bir makale yazmak istedim.
Bu konuda en çok takıldığımız konu linq ile çalışmaya nerden başlamalıyız sorusuna
cevap bularak makalelerimize devam edeceğim.
Linq (Language Integrated Query) ile ilgili iyi bir araştırma sonrası makale yazmaya
değer buldum açıkcası. Çünkü üzerinde zaman harcayarak uğraştığınız yenilikler bir
süre sonra ortadan tamamen silinebiliyor. Günümüz şartlarından bahsetmek gerekirse
Mvc framework gibi yenilikler geldi ve niceleri gelmeye devam edecektir...
Linq in tarihi pekte taze değil aslında. Bizi ilgilendiren kısmı ise linqToSql diye adlandırdığımız
sql ile birlikte çalışan linq sorgularımız ado(.net) ekibinin yarattığı bir yenilik değildir.
Microsoft'un kendi geliştirdiği sorgulama dilinin adı Entity framework olarak geçmekte.
Framework 3.5 versio nu ile kullandığım kadar söylemem gerekirse pekte performanslı
durmuyordu.
Bu yüzden LinqToSql bir süre daha iş yapacak gibi duruyor :) Tabi Entity Framework c# 4.0
ile nasıl bir gelişme gösterdi bu konuda bir bilgiye sahip değilim ama bilmenizde fayda var
Microsoft LinqToSql i artık geliştirmeyeceğini duyurdu!
Konuyu pek dağıltmadan Projemizi Linq uyumlu nasıl yapacağız buna bakalım biraz ...
Bir adet web projesi açıyoruz ve proje içine bir adet Linq To Sql Classes dosyası ekliyoruz
Uzantısı dbml olan bu dosya bizim veritabanımızla bağlantımız sonucu sütunlarımızı class
haline çevirerek otomatik olarak oop yapısını kuracak...
Açılan dbml dosyamızın içeriğinden pek bahsetme taraftarı değilim. Kısaca bahsetmek gerekirse
iki bölümden oluşan dbml dosyamız soldaki yapı class sağdaki ise metod bölümü olarak düşünebiliriz
biz daha çok soldaki bölüm ile ilgileneceğiz.
Şimdi ilk olarak yapmamız gereken hangi veritabanı ile çalışacaksak dbml ile bağlantısını kurmak...
Yapacağımız ise classes bölümünde sağ tıklayıp özelliklerine biraz göz gezdirmek...
Properties bölümünde dikkat etmemiz gereken yer doğru bir şekilde connection ı ayarlayabilmekte.
Ayarladığımızda ise server Explorer bölümünde veritabanımızı görebiliriz. Bizim kurduğumuz
veritabanı adı deneme oldu.
İçinede dene diye bir tablo attık ve tabloyu tutup dbml dosyamız içine sürüklüyoruz.
Sürükledikten sonra dikkat ettiysek tablo adı dbml içinde bir class oldu tablonun sütunları ise
property oluverdi :) Buraya kadar bir yerde atmala yapmadıysak her şey hazır demektir ve ilk
sorgumuzu basit bir linq ile devam ettirelim.
İlk olarak sayfamıza bir adet repeater kontrol atalım ve normal çalışırmış gibi içeriği ekleyelim
Görsellikle uğraşmak istemediğim için sadece ad sütununu kullanarak bilgileri göstereceğim...
Sıra geldi kod yazmaya. Bu bölüm repeater içini nasıl doldursam diye düşünmekten daha kolay :)
DataClasses ı tanımladığımızda DataContext diye bir yapı ile bir adet class oluşturulur. Bunun
sayesinde dbml e dolayısıyla sql e rahatça ulaşabiliriz.
Kodlarımızı da yazdıysak artık sorun yok. Önizleme yapabiliriz ben denedim sorun yoktu...
Bugünlük bu kadar arkadaşlar başka bir makalede tekrar görüşmek üzere sağlıcakla kalın...
Görüş ve öneri için :
Buradan alıntıdır