top of page

LINQ Ogreniyorum Serisi 01

  • Writer: Sevdanur GENC
    Sevdanur GENC
  • Feb 5, 2012
  • 2 min read

Makale icerisinde LinQ sorgu yapilarinin yapisindan bahsedicez. Ileriki makalelerde de ogrenilmis olan bu sorgu yapilariyla birlikte uygulamalar yaparak LinQ sorgu yapisini pekistirmis olacagiz. Normal sorgu cumlelerinde bilindigi uzere Verinin kaynagindan haberli bir sekilde verilere ulasilir ve o veriler uzerinde sorgulari calistirip en sonunda kullanicilara sonuclari yonlendirecektir.   Cogu veri kaynagi IEnumerable<T> arayuz generic tiplerini desteklemektedir. Bu sebepten oturu veri coklugunu bu sekilde generic arayuzler kullanarak sonuclara ulasabiliriz. LinQ sorgu yapilari da SQL sorgu yapilarinda oldugu gibi Select, Where, OrderBy, GroupBy ifadelerini kullanabiliyor, ayni zamanda da Count, Sum gibi aritmatik fonksiyonlarida linq cumle icerisinde barindirabiliyor. SQL'de ki kelimelerle benzerlik gosterirler fakat bastada dedigimiz gibi soz dizilimleri biraz farklidir. Soyle ki ;

                  Yani asagidaki gibi bir kalip kullanilmaktadir ; var = from in where orderby select kolon1, kolon2.... Dizilerden topladigimiz verileri linq sorgu yapisina soktuktan ve de bu sorgu yapisinda islettirdikten geriye donecek olan bilgileri kullanicilara listelettirmek icin ForEach yapisini kullanabiliriz. Sorguyu saklayan degisken ForEach yapisi verilerin icerisinde saklanilmasi icin sorgunun calistirilmasi ile birlikte senkronizasyon bir sekilde olaylar gerceklesmektedir. Bu sekilde ertelenmis bir listeleme sekline Deffered Execution ismi verilmektedir. Yani kisacasi ; hem sorgu cumleciklerinin aninda calistirilir, hemde tum sonuclarin birer birer generic list yapilarinda saklanilmaktadir. Tum bu Anlattiklarimizi Kucuk bir uygulama inceleyelim...

Uygulama ;

Visual Studio' da olusturacagimiz yeni bir ConsoleApplication'ininda bulunan Program.Cs kod sayfasina asagidaki kodlari yazdigimizda yapmis oldugumuz islemleri sirasiyla soyledir ; - Oncelikle SayiDizisi Adinda bir dizi olusturuyor ve icerisine dizide bulunacak sayilari belirtmis oluyoruz. KosulluSayilar adi altinda bir lokal degisken tanimlamis oluyorum, ve LinQ sorgu cumlemin sonucunu icerisine aktaricak sekilde devam ediyorum. SayiDizisi icerisinde ki tum sayilari Sayi degiskenine aktararak Where ile belirttigimiz kosulu her okudugunda kosulu saglayan sayi degiskenini foreach liste yapisinda saklayarak bir sonraki verinin kosulu saglayip saglamayacagini kontrol ediyor. Sorgu sonucu olarak kosulu saglayan tum sayilari ekrana yazdiriyor.

Program.Cs Kaynak Kodlar ;

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int[] SayiDizisi = new int<10>

{1,2,3,4,5,6,7,8,9,10}; var KosulluSayilar = from Sayi in SayiDizisi where (Sayi) > 5 select Sayi; foreach (int Sayi in KosulluSayilar) { Console.WriteLine(Sayi); } } } } Ekran Ciktisi ;

          Bu makalede LinQ sorgu yapilarindan bahsetmis olduk, artik sorgu cumlelerimizi kullanmadan once yapmamiz gerken islemler hakkinda bilgiler vermeye baslayabiliriz. LINQ Ogreniyorum Serisi 02 icin ; https://sevdanurgenc.com/archives/1631

Recent Posts

See All
Ado.Net Entity Framework Ogreniyorum Serisi 00

Ado.Net Entity Framework (EF) verileri ile etkilesim uygulamalari gelistirmek icin kullanilan Ado.Net nesne iliskisel modelleme yazilimi olarak iliskisel veritabani semalarini ve nesneler arasinda ki

 
 
 
LINQ Ogreniyorum Serisi 05

Linq To Sql’de tablolarimizdaki verileri silebilmemiz icin; DataContext icerisinde ki DeleteOnSubmit ve DeleteAllOnSubmit metodlari kullanilmaktadir. Beraberinde SubmitChanges metodu da kodlari eklen

 
 
 
LINQ Ogreniyorum Serisi 04

Linq To Sql’de tablolarimiza verileri guncelleyebilmemiz icin; DataContext icerisinde ki SubmitChanges metodu kullanilmaktadir. Bu komutlari kullanarak DataContext sinifinin yapisina da ihtiyac duyu

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page