YazilimDevi.Com {..} Yazılım Devi Olacaksın :)  
Kullanıcı Adı :
Şifre :
 
   
  En Çok İzlenen KonularAnlatım
İzle  C# ile Ado.NET-Tablo Verilerini Projemize AktaralimEngin Demirog
İzle  Active Directory Kurulumu (1)Salih Demirog
İzle  Exchange Server 2003 KurulumuSalih Demirog
ASP.NET
ASP.NET AJAX
BILGISAYAR
C#
CRYSTAL REPORTS
CSS
LINQ
MS ACCESS
MS EXCEL
MS POWERPOINT
MS WORD
POCKET PC
SQL
SQL SERVER
VISUAL BASIC
WPF
ISA SERVER 2006
MS EXCHANGE SERVER
MS OUTLOOK
MS SERVER 2003-2008
 
 

 

Bu makalede LINQ to SQL kullanarak SQL sorgularinda kullandigimiz JOIN islemini gerçeklestirecegiz.
 
Öncelikle JOIN isleminin kati SQL kodunu inceleyelim.
  
Elimizde OnlineSatis isminde bir veritabani olsun. Bu veritabani içinde siparis ve urunler isminde iki adet tablomuz olsun.
 

Bu tablolari inceleyelim:
 
urunler tablosunda, firmada bulunan ürünlerin bilgileri bulunmaktadir. Bu bilgileri birbirinden ayirt edici özelligi ise id sütunudur. siparis tablosunda ise hangi müsterinin (musteriid) hangi ürünü (urunkodu) kaç adet siparis verdigi bilgileri bulunmaktadir.
 
Bu tablolardaki bilgilerden, siparis verilmis olan ürünleri görmek istiyoruz.
 
Bu islemi gerçeklestiren kati SQL kodu asagidaki gibidir:
 
SELECT DISTINCT urunler.adi FROM urunler INNER JOIN siparis ON urunler.id = siparis.urunkodu
 
Simdi bu islemi LINQ to SQL ile çalistiralim:
 
Öncelikle projemize LINQ to SQL Data Classes ekliyoruz.
 
 
Server Explorer penceresinden yeni bir baglanti olusturup veritabanimizda bulunan urunler ve siparis isimli tablolari DataClasses1 içerisine sürüklüyoruz:
 
 
Simdi kodumuzu yazabiliriz:
 
private void VerileriGetir()
{
     DataClasses1DataContext dc = new DataClasses1DataContext();
     var urunlerim = (from urunum in dc.urunlers
       join siparisim in dc.siparis on urunum.id equals siparisim.urunkodu
       select urunum.adi).Distinct();
     foreach (var urun in urunlerim)
     {
          listBox1.Items.Add(urun);
     }
}
 
from urunum in dc.urunlers join siparisim in dc.siparis on urunum.id equals siparisim.urunkodu
 
DataClasses içerisinde bulunan urunler tablosunu join anahtar kelimesiyle siparis tablosu ile birlestiriyoruz. on anahtar kelimesinden sonra ise SQL sorgularinda oldugu gibi birlestirme islemini hangi sütunlar üzerinden gerçeklestirecegimiz bilgisini yaziyoruz. urunler tablosunun id sütunu ile siparis tablosunun urunkodu sütununun esit (equals) oldugu kayitlari alacagiz.
 
Son olarak da foreach ile veritabanindan aldigimiz verileri listbox’a yazdiriyoruz.
 
Ekran çiktisi asagidaki gibi olacaktir.
 
 
 
 
Veysel Ugur KIZMAZ