Dil Entegre Sorgu Nedir?
Dil entegre sorgulaması (LINQ), öncelikli olarak C # ve
VB.NET olmak üzere, zorunlu dilleri içine deklarasyonlu sorgu sözdizimini
sorunsuz bir şekilde entegre etme olanağı sağlar. LINQ'un gelişimi, sorgular
yapılırken karşılaşılan nesne tabanlı kredi kartı başvurusu World ortamlarda çalışan geliştiricilerin
problemlerini çözmüştür. Microsoft® .NET Framework sürüm 3.5'in bir parçası
olarak Kasım 2007'de ve Visual Studio® kod adı "Orcas" da tanıtıldı.
Dil tümleşik sorgu oluşturulmadan önce, .NET dilleri
ilişkisel veritabanları veya XML belgeleri sorgulamak için yerel bir yolu yoktu
. Bu dillerde yazılan geliştiriciler, SQL veya XQuery'yi dizgiler olarak
sırasıyla katıştırmalı ve sonuçta elde edilen verileri .NET nesnelerine
eşlemelidir. Gömülü sorgu dizeleri ve eşleştirmeler, .NET derleyicileri
tarafından doğrulanamadı ve olası hataların çalışma zamanında algılanmasına olanak
tanıdı.
Dil entegre sorgulamadan önce karşılaşılan bir başka sorun
geliştiriciler, .NET dillerinin .NET nesnelerini sorgulamak için yalnızca
nesnel yönelimli sözdizimi olduğu yönündeydi. Tipik olarak, geliştirici, arama
kriterlerine göre yeni sonuç koleksiyonları oluşturarak, bütün bir kaynak
koleksiyonunda yineleme yapar. Geliştirici, sonuç koleksiyonlarını oluştururken
verileri de dönüştürebilir. Bu yaklaşım hantaldı; C # veya VB ile yazılmış
basit bir seçim sorgusu, en az beş satırlık kod gerektirecektir, oysa aynı
sorgu, bir sorgu dilinde bir satır kod gerektirecektir.
Nesne yönelimli bir ortamda sorgulamanın zorlukları
Microsoft'a LINQ oluşturma çabasını vermiştir. LINQ, statik tip denetimi ile
tamamlanmış C # veya VB ile satır içi kullanılacak SQL'i anımsatan bir sorgu
sözdizimi sağlar. .NET koleksiyonlarını sorgularken, yuvalanmış döngüler
kullanmak yerine, geliştiriciler öğeleri seçmek ve verileri dönüştürmek için
LINQ sözdizimini kullanabilir. Diğer avantajların yanı sıra, bu, tamamen nesne
yönelimli sözdizimine kıyasla daha az kod satırıyla sonuçlanır.
Harici veri kaynaklarına erişirken, LINQ ve destekleyici
bileşenler, bir .NET dili içinde gömülü sorgu dilleri ve veri eşlemelerini
ortadan kaldırır. Veri eşleştirmesi yapmak için LINQ, LINQ sağlayıcıları olarak
adlandırılan bileşenlere bağlıdır. LINQ-to-Objects, LINQ'ın .NET
koleksiyonlarına erişmesini sağlayan stok sağlayıcıdır. Benzer şekilde, cepten kredi kartı başvurusu ilişkisel veritabanlarına ve XML
belgelerine erişmek için sağlayıcılar vardır. Bu sağlayıcıların çoğu, .NET
Framework'te bulunmayan üçüncü taraf bileşenlerdir. Kullanılan sağlayıcıdan
bağımsız olarak, tüm sorgular aynı LINQ sözdizimini kullanır.
Dil entegre sorgu sözdizimi ile sağlayıcılar arasında, LINQ
olanaklarının bir parçası olarak .NET Framework'e eklenen sorgu operatörlerinin
bir kütüphanesi bulunur. Bu operatörler, filtreleme, sipariş verme, teori
işlemlerini ayarlama ve toplama gibi görevleri gerçekleştirir. Bu işleçler .NET
Framework'ün parçası olduğundan, geliştiricinin seçtiği durumlarda LINQ olmadan
da kullanılabilirler.
Yorumlar
Yorum Gönder