🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Talha TOKATLIOGLU / C# - LINQ / Listeleme (İlişkili Tablo) - SelectMany() ile

1-) C# - Linq - Listeleme (İlişkili Tablo) - SelectMany() ile

 

HAZIR KOD

 

var degerler = db.TBLNOT.SelectMany(notlar => db.TBLOGRENCI.Where(ogrenci => ogrenci.ID == notlar.OGRENCIID), (notlar, ogrenci) =>

       new

       {

           ogrenci.AD,

           notlar.ORTALAMA,

           Durum = notlar.DURUM == true ? "Geçti" : "Kaldı"

 

       }).OrderBy(adFiltre => adFiltre.AD);

 

       dataGridView1.DataSource = degerler.ToList();

 

KOD AÇIKLAMASI

 

Yeşil - Değişken

Kırmızı  - Veritabındaki Tablo Adı (Değişken)

Mavi - Tablodaki Alan Adları ve Tablodan(Sınıftan) Türetilen Nesnenin Özellikleri (Değişken)

Turuncu - TextBox'ın Adı (Değişken)

Anonymous Type - Tablodan çekilen verilerin atandığı tip

 

var degerler = db.TBLNOT.SelectMany(notlar => db.TBLOGRENCI.Where(ogrenci => ogrenci.ID == notlar.OGRENCIID), (notlar, ogrenci) =>

 

//Cağıracağımız alanları tutması için değerler adında bir değişken tanımladık.

//TBLNOT'a SlectMany() ile birden fazla sececeğimizi soyluyoruz yani ilişlilendirme yapıcaz diyoruz.

//Sonra notlar diye bir değişken tanımlıyoruz Sonra TBLOGRENCI'yi de alacağımızı soyluyoruz.Hatta Where() ile bir koşullandırma yapacağımızı soylıyoruz.Teknik olarak ilişkilerini belilreyeceğiz.

//İlişkilendirmeyide ID İLE OGRENIID ile yapıyoruz ve virgül atıyoruz.

//notlar ve ogrenci oyle ki diyip cağıracağımız değer icin new diyoruz.

 

       new

       {

           Öğrenci = ogrenci.AD,

           Ortalama = notlar.ORTALAMA,

           Durum = notlar.DURUM == true ? "Geçti" : "Kaldı"

 

   // İstedğimizi alanları cağırıyoruz.

 

       }).OrderBy(adFiltre => adFiltre.AD);

 

//OrderBy() ile adFiltrele değişkeni oluşturuyoruz ve adFiltrele ile new içinde sectiğimiz alanlar arasında sıralama yapmamızı sağlıyor.

 

       dataGridView1.DataSource = degerler.ToList();

 

//En son dataGrid'e yada gridView'in DataSource'sine yani veri kaynağına cağırdığımız verileri tutan değişken olan degerler'i toList() metodu ile liste şeklinde getirir ve atarız.

 

 

NOT -->

//new den sonra tablodan cağırdığımız belirli alanları Ders, Ortalama, Sınav1 gibi   değişkenlere atamıştık bunlara Anonymous Type deniyor bazı durumlarda gerekiyor ve çağırdığımız alanlar bu type'leri adına gore geliyor.Yani OGRENCI'yi aldğımız satırda stunnun adı "Öğrenci" şeklinde oluyor.

 

 2021 Mart 14 Pazar
 499