C#nedir?com
 
YAZAR HAKKINDA
Mutlu Kurtbaş
Mutlu Kurtbaş
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
4 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: adinda generic gerekli konsol microsoft’un objects project projemize siniflari studio tabani template tutulan verileri visual C# / VC#/.NET Mutlu Kurtbaş
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 23.9.2005
Okunma Sayısı : 28278
Yorum Sayısı : 1     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer 'in Blogu
Conda install environment.yml Package 23.2.2020
Turhal Temizer 'in Blogu
Mac OS/X Removing CUDA 23.2.2020
Burak Selim Şenyurt
Sekiz Saatlik Sonsuz Döngü 23.2.2020
Burak Selim Şenyurt
Switch Case Kullanmadan Kod Yazılabilir mi? 23.2.2020
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
LINQ – .NET Language Integrated Query ( Dil İle Bütünleştirilmiş Sorgu )
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bu makale, size LINQ projesi ile In-Memory Objects ve Generic Collections ‘lar ile nasıl çalışabileceğinizi örneklerle anlatır.  

Hangi alanda olursa olsun, teknoloji çok hızlı değişim geçiriyor ve tüm bunların nedeni insanların hayatını kolaylaştırmak. Microsoft’un vizyonu ‘bilgiye her zaman, her yerden ve her cihazdan ulaşmak’ tı hatırlayaracağınız gibi. İşte, Microsoft’un bu yolda attığı adımlardan biriside LINQ projesidir. Belki bir çoğunuz LINQ adını duyduğunda Linux’a rakip yeni bir linux sürümü mü diye düşünecektir. Çünkü arama motorlarına LINQ kelimesini girip arama yaptırdığınızda karşınıza linux ile ilgili link seçenekleri de çıkmakta. Ama bu projenin linux ile bir bağlantısı hok.

Peki nedir LINQ? Kod adı LINQ olan bu proje adı ‘Language Integrated Query’ yani ‘Dil ile bütünleştirilmiş sorgu’ kelimelerinin kısaltılmasıyla oluşturulmuştur. Query kelimesine bir yazılım geliştirici olarak uzak olmasanız gerek, çünkü veri ile çalışırken işimizi kolaylaştıran şeylerden biriside verileri sorgulayabilmemizdir. Bunun içinde select, where gibi sorgu ifadeleri kullanırız. Peki bunun dil ile olan alakası nedir? Kod yazarken geliştirdiğimiz proje içindeki değerleri değişkenlerde saklarız. Değişkenlerde tutulan bu verilerin uzun bir süre saklanması gerektiğinde dosya sistemini veya veri tabanı sistemlerini kullanırız. İşte, bellekte tutulan bu verileri (in memory objects ve generic collections) de artık veri tabanı sistemlerinde olduğu gibi basit sorgu ifadeleri ile sorgulayabiliyoruz. Şu an için Visual Studio 2005 Beta 2 ve C# Express Beta 2 size bu tür sorgular yazıp bellekte tutulan verileri sorgulayabilmenize imkan veriyor. Tabi LINQ çatısınıda bilgisayarınıza yüklemeniz gerekiyor. Son günlerde MSDN Subscriptions üyelerinin indirebildiği Visual Studio 2005 Release Candidate ile bu sorguları çalıştıramıyorsunuz! Bu çatının oturması için ve projelerimizde kullanabilmemiz için biraz daha sabırlı olmamız gerekiyor. En azından kod adı C# Orcas olan C#’ın 3.0 sürümü ve VB.NET’in 9.0 sürümü ile bütünleşmiş olarak karşımıza çıkana kadar.

Biraz önce dosya sistemimizde ve veri tabanı sistemimizde tutulan verilerden bahsetmiştik. İşte LINQ bellekteki veriler dışında hem XML (XLINQ) ile hemde SQL Server (DLINQ) ile çalışmamızı sağlıyor. XLINQ, XML verileri ile çalışırken bu verileri hızlı ve kolay sorgulama yeteneği kazandırıyor. DLINQ ise ilişkisel veri tabanlarıyla çalışırken bize güç ve performans sağlıyor.

Şimdi dilerseniz LINQ projemizi oluşturalım. Bu örneği çalıştırabilmek için ihtiyacınız olan iki şeyden ilki Visual Studio 2005 Beta 2 ve ikinci LINQ çatısı. Eğer gerekli olan araçlar bilgisayarınızda mevcutsa bir kaç adımda aşağıda yazılı olan kodları projenize ekleyerek sonuçları inceleyebilirsiniz.

İlk olarak yeni bir proje oluşturmak için sırasıyla File menüsü altında yer alan New menüsüne ve ardından Project seçeneğine tıklattım ve karşıma Şekil – I’ deki gibi bir New Project penceresi açıldı.



Şeki – I : New Project penceresi.

Project types listesi altında yer alan Visual C# seçeneğini genişlettiğimde LINQ Preview adında bir seçeneğin olduğunu görüyorum. Ve bu seçeneğe tıklattığımda Templates listesinde LINQ projeleri oluşturmak için kullanabileceğim Template’lere ulaştım.

İlk projemiz basit bir konsol uygulaması olacağı için My Template penceresinde LINQ Console Application seçeneğine tıkladım ve proje adı kısmına LINQConsoleApp1 yazarak  OK butonuna tıkladım. Daha sonra Program.cs dosyasına tıklatarak Şekil – II’deki kodların görüntülenmesini sağladım.



Şeki – II : Template ile gelen hazır kodlar.

Kodlara ilk baktığımızda dikkatimizi çeken ilk satırlar sıradan bir konsol uygulamasından farklı olarak projemize dahil edilmiş 4, 5 ve 6.ncı satırlar oluyor. Şimdi dilerseniz Template ile birlikte projemize referans olarak dahil edilmiş isim uzaylarına kısaca bir göz atalım.

System.Query           : In-Memory sorguların çalıştırılması için gerekli olan sınıfları içerir.

System.Xml.Xlinq     : In-Memory XML dökümanların sorgulanabimesi için gerekli sınıfları içerir. 

System.Data.DLinq : In-Memory SQL tabloların sorgulanabilmesi  için gerekli sınıfları içerir.

Bizim için bu örneğimizde gerekli olan isim uzayı System.Query. Daha sonra sizşer için hazırlayacağım makalelerde diğer iki isim uzayını daha detaylı bir şekilde inceleme şansımız olacak.

Şimdi projemize Şekil – III’te yer alan kodları dahil edelim ve projemizi biraz daha geliştirelim.

Şeki – IV : İlk LINQ projemizin ekran çıktısı.

Bu örnekten sonra bellekteki verileri sorgulama konusunda kafanızda belli bir belirginliğin oluştuğunu düşünüyorum. Şimdi örneğimize yeni bir metod ekleyerek nesneleri nasıl sorgulayabileceğimize bakalım.



Şeki – V : Kisiler sınıfı.

İlk olarak namespace’imizin altına Kisiler adında bir sınıf ekledim. Ve bu sınıf için bazı özellikler tanımladım.



Şeki – VI : NesneselSorgu örneği.

Bir sonraki adımda ise mevcut Program sınıfımın içerisine NesneselSorgu adında yeni bir metod ekledim. Ve biraz önce tanımladığım Kisiler sınıfını kullanarak yeni bir nesne tanımladım ve bu nesnenin özelliklerine bazı değerler atadıktan sonra ilk örneğimizde olduğu gibi nesnemizi sorguladım. 33.ncü satırda da görülebileceği gibi Yas degeri 23’den büyük ve 28’den küçük olan değerleri seçtim ve ToUpper() metodunu kullanarak seçili değerin tüm harflerinin büyütülmesini istedim. Main metodumda bir değişiklik yaptım ve SayisalSorgu metodu yerine NesneselSorgu metodunun çağrılmasını sağladım. Projeyi çalıştırmak için F5 tuşuna bastığımda ise karşıma aşağıdaki gibi bir konsol ekranı çıktı.



Şeki – VII : NesneselSorgu örneğimize ait ekran çıktısı.

Daha sonra sizler için hazırlayacağım makalelerimde XLINQ ve DLINQ konularına daha detaylı olarak yer vermeye çalışacağım. Makalenin başında da belirttiğim gibi Microsoft’tan edineceğiniz Visual Studio 2005 Beta 2 ve LINQ çatısı ile sizde bu örnekleri yazıp çalıştırabilir ve sonuçlarını inceleyebilirsiniz. Bir başka makalede görüşmek dileğiyle.

Örnek Uygulama İçin Tıklayın

Mutlu Kurtbaş
mutlu@kurtbas.com.tr
Makale:
LINQ – .NET Language Integrated Query ( Dil İle Bütünleştirilmiş Sorgu ) C#, Visual C# ve .NET Mutlu Kurtbaş
  • Yazılan Yorumlar
  • Yorum Yaz
NİS
24
2011
Daha az ayrıntılı bir örnek daha paylaşabilirseniz sevinirim
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor