Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Linq To Sql Ile Inner Join kullanimi

Yazar: Cengiz Atilla

Kategori: C#.NET & VB.NET

Eklenme Tarihi: 07.08.2009 20:40:26

Makalemiz boyunca sql server ımız icindeki iki tablomuza baglanıp inner join işlemine bakıcağız ..
Makalemize başlamadan önce sql tablolarımızı ayarlayalım .
tblkullanicikisabilgi  : tablomuzda Ad Soyad Kullanıcı Adı Sifre gibi bilgileri tutucağız.
tblkullaniciadres      : tablomuzda kullanıcının adres bilgilerini tutucağız .

Sql Tablomuzu Oluşturalım
-------------------------------
tblkullanicikisabilgi tablosu



tblkullaniciadres tablosu



Verilerimizi girdik ben verilerim icin adventureworks database indeki verileri kullandım . Şimdi c sharp tarafına geçelim ve makalemizi yazalım . Makalemizi console ekranında açıcam inner join ile bir kaç sorgu çeker inceleriz.

Şimdi dbml baglantımızı ayarlayalım veritabanim.dbml adını verdigimiz dbml sınıfımızı oluşturalım ...

Oluşturduğumuz dbml ımızın içerisine sql tablolarımızı verelim ...

Simdi program.cs içerisinde işlemlerimizi gerçekleştirelim . 

// ilk önce veritabanim.dbml  örneklememiz gerekir.

veritabanimDataContext
veri = new veritabanimDataContext();

// Sorgu 1 : İlk Önce tüm listeyi alalım normal bir inner join işlemi gerçekleştirelim ...

var sorgu1 = from k_kisabilgi inveri.tblkullanicikisabilgis
join k_adres in
veri.tblkullaniciadres
on k_kisabilgi.Kullaniciid equals
k_adres.Kullaniciid
orderby k_kisabilgi.Ad
ascending
select
new
{
PersonelAdi = k_kisabilgi.Ad,
PersonelSoyad = k_kisabilgi.Soyad,
PersonelKullaniciAdi = k_kisabilgi.KullaniciAdi,
PersonelSifre = k_kisabilgi.Sifre,
Adres = k_adres.Adres
};

foreach (var Personel1 in
sorgu1)
{
Console.WriteLine("Ad : {0} Soyad : {1} Kullanıcı Adı {2} Sifre {3} Adres {4}"
, Personel1.PersonelAdi, Personel1.PersonelSoyad, Personel1.PersonelKullaniciAdi, Personel1.PersonelSifre, Personel1.Adres);
Console
.WriteLine();
}

Kodumuzu çalıştırdığımız zaman inner join işlemini gerçekleştirmiş olduk . Şimdi bir kaç sorgu daha yazalım inceleyelim . Makalemizin sonunda örnek uygulamamızı bulabilirsiniz . 

// Soyadı Adams olan kullanicilarimizin ad soyad ve adres bilgilerini yazalım ...

var sorgu2 = from k_kisabilgi1 inveri.tblkullanicikisabilgis
join k_adres1 in
veri.tblkullaniciadres
on k_kisabilgi1.Kullaniciid equals
k_adres1.Kullaniciid
select
new
{
Ad = k_kisabilgi1.Ad,
Soyad = k_kisabilgi1.Soyad,
Adres = k_adres1.Adres
};

foreach (var Personel2 in
sorgu2)
{
Console
.WriteLine();
Console.WriteLine("Adı {0} Soyadı {1} Adres {2}"
, Personel2.Ad, Personel2.Soyad,
Personel2.Adres);
Console
.WriteLine();
}
}

// Kullanıcı Adı G ile başlayan adının içinde e olan ve soyadı a ile başlayıp s ile biten kullanıcılarımızı listeleyelim.

var sorgu3 = from k_kisabilgi2 in
veri.tblkullanicikisabilgis
where k_kisabilgi2.KullaniciAdi.Contains("G") && k_kisabilgi2.Ad.Contains("e") && k_kisabilgi2.Soyad.StartsWith("A") && k_kisabilgi2.Soyad.EndsWith("s"
)
select new

{
KullaniciID = k_kisabilgi2.Kullaniciid.ToString(),
Adi = k_kisabilgi2.Ad,
Soyad = k_kisabilgi2.Soyad,
};

foreach (var Personel3 in
sorgu3)
{
Console.WriteLine("Kullanıcı Id {0} Ad {1} - Soyad {2}"
,Personel3.KullaniciID, Personel3.Adi, Personel3.Soyad);
}

Uygulama İndir : www.cengizatilla.com/DownloadMe/innerjoin.rar 

Cengiz ATİLLA
----------------------------------
cengiz.atilla@hotmail.com 
atilla@cengizatilla.com  





Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.