Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

Linq To Sql – JOIN

Linq To Sql’de Join işlemleri nasıl yapılır onu inceleyelim.

Hemen bir örnekle izah etmeye çalışalım.
Önceki yazılarımda hazırladığım Northwind.dbml dosyasını kullanacağım.
–Beverages kategorisindeki ürünler hangileridir ?

            NorthwindDataContext Northwind = new NorthwindDataContext();
            var Sonuc = from kategori in Northwind.Kategorilers
                        join urun in Northwind.Urunlers on kategori.KategoriID equals urun.KategoriID
                        where kategori.KategoriAdi == "Beverages"
                        select new
                        {
                            Urun = urun.UrunAdi
                        };
            foreach (var item in Sonuc)
            {
                listBox1.Items.Add(item.Urun);
            }

“join” anahtar sözcüğünden sonraki parametre “Northwind.Urunlers” koleksiyonundaki bir nesneyi işaret etmektedir.”on” anahtar sözcüğü ile ilişkili sütunları eşitliyoruz.Eşitleme işlemini “equals” komutuyla yapıyoruz.
–Spain’de yaşayan müşteriler ve bu müşterilere yapılan satış sayısı? Hiç satış yapılmayan müşteriler listelenmesin.

            NorthwindDataContext Northwind = new NorthwindDataContext();
            var Sonuc = from satis in Northwind.Satislars
                        where satis.Musteriler.Ulke =="Spain"
                        join musteri in Northwind.Musterilers on satis.MusteriID equals musteri.MusteriID
                        group satis by satis.Musteriler.MusteriAdi into Grup
                        where Grup.Count() > 0
                        select new
                        {
                            Satis = Grup.Count(),
                            MusteriAdi = Grup.Key
                        };
            foreach (var item in Sonuc)
            {
                listBox1.Items.Add(item.MusteriAdi + " " + item.Satis);
            }

LINQ’da join yaparken, nesneler üzerinden de birleştirme yapabiliriz.

            NorthwindDataContext Northwind = new NorthwindDataContext();
            var Sonuc = from musteri in Northwind.Musterilers
                        where musteri.Ulke == "Spain"
                        join satis in Northwind.Satislars on musteri equals satis.Musteriler
                        group satis by satis.Musteriler.MusteriAdi into Grup
                        select new {
                            Satis = Grup.Count(),
                            MusteriAdi = Grup.Key
                        };
            foreach (var item in Sonuc)
            {
                listBox1.Items.Add(item.Satis + " " + item.MusteriAdi);
            }

İyi çalışmalar

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. ata baba dedi ki:

    Son örnekte Northwind.Satislars veritanindaki bi alanı nasıl alabilirim select new kısmına ?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*