Bugün bir çalışma arkadaşımın sorusu üzerine yerinde test ortamı ayarlayamadığımız için gösteremediğim linq ile inner join ve full join yapmanın yolunu bloguma erişen herkesle paylaşacağım.
MSSQL veritabanında test amaçlı olarak 2 tablo oluşturuyorum. Bu tablolar isimler ve siniflar olacak. Bir departmandaki personellerin listesini ekrana yazdıracağız.
using (var db = new testEntities()) { //inner join sadece koşul eşleştirmek için var conditional= db.isimler.Where(x=>x.siniflar.departman.Equals("BT")); //inner join 2 tablodan da verileri birleştirmek için var innerjoin = db.isimler.Join( db.siniflar, isims=>isims.sinifid, sinifs=>sinifs.id, (isims, sinifs) => new { isimler=isims, siniflar=sinifs }) .Where(x=>x.departman.Equals("BT")); //full join bunu bilmeyen tarayıcıda çarpı işaretine bassın. var fulljoin = db.siniflar.SelectMany(s=>db.isimler.Where(i=>i.sinifid==s.id)) .Where(x=>x.siniflar.departman.Equals("BT")); many.ToList().ForEach((x) => { Console.WriteLine(x.adi + " " + x.soyadi); }); } Console.Read();
No comment