LINQ Query Expressions

Hiç yorum yok
Merhaba Arakdaşlar,

Kuzey Rüzgari veri tabanı üzerinde daha önceden mssql alt sorgular kısmında paylaşmış olduğum t-sql sorgularının linq Expressions'ları ile uygulama geliştiriyor olacağız.








   Soru  1) Hangi kategoriden kaç birim Urun var

            var sorgu = from urun in db.Products
                        join kategori in db.Categories on urun.CategoryID equals kategori.CategoryID
                        group urun by kategori.CategoryName into grup
                        select new {
                              grup.Key,
                            UrunAdeti= grup.Sum(x=>x.ProductID)
                        };
            dgvSonuc.DataSource = sorgu.ToList();

    Soru  2) Musterilerin gerçekleştirdiği ilk siparis tarihi

            var sorgu = (from satis in db.Orders
                        join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
                        group satis by musteri.CompanyName into grup
                        select new
                        {
                            grup.Key,
                            SatisTarihi= grup.Min(x=>x.OrderDate),
                         }).OrderBy(x=>x.SatisTarihi);
            dgvSonuc.DataSource = sorgu.ToList();




 Soru 3)    03.03.1997 yılında yapılan Siparisler gelsin

            DateTime tarih=  Convert.ToDateTime(txtTarih.Text);

              var sorgu = from satis in db.Orders
                          where satis.OrderDate == tarih

                          select satis;

              dgvSonuc.DataSource = sorgu.ToList();
    Soru  4) siparişler Tablosunda  en küçük sipariş tarihi gelsin

            var sorgu = (from satis in db.Orders
                        group satis by satis into grup
                        select new {

                        EnkucukTarih= grup.Min(x=>x.OrderDate)
                        }).Take(1).ToList();

            dgvSonuc.DataSource = sorgu;

    Soru  5) Firmların yaptıkları ilk sipariş tarihleri gelsin

            var sorgu = (from satis in db.Orders
                        join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
                        group satis by satis.Customer.CompanyName into grup
                        select new
                        {
                           SiparisSahibi= grup.Key,
                          SiparisTarihi= grup.Min(x=>x.OrderDate)
                        }).OrderByDescending(x=>x.SiparisTarihi).ToList();

            dgvSonuc.DataSource = sorgu;

     Soru   6)  Siparis adeti 4 den buyuk sirketler gelsin


            var sorgu = (from satis in db.Orders
                         join musteri in db.Customers on satis.CustomerID equals musteri.CustomerID
                         where musteri.CustomerID==satis.CustomerID
                         group musteri by musteri into grup
                         select new
                         {
                             FirmaAdi = grup.Key.CompanyName,
                             MusteriAdi= grup.Key.CustomerID,
                             SatisAdeti = grup.Count(),


                         }).Where(x => x.SatisAdeti > 4).ToList();
            dgvSonuc.DataSource = sorgu;

            int sayi = sorgu.Count();

    Soru 7)  Ürünler tablosunda ne kadar ürün var

             var sorgu = (from urun in db.Products
                          select urun).Sum(x => x.UnitsInStock);
             //yada
            var sorgu2= db.Products.Sum(x => x.UnitsInStock);
             MessageBox.Show(sorgu2.ToString());

   Soru  8) Hangi üründen Kaç birim Stock var


            var sorgu = from urun in db.Products
                        group urun by urun into grup
                        select new {
                         UrunAdi= grup.Key.ProductName,
                        Adeti=grup.Sum(x=>x.UnitsInStock)
                        };
            dgvSonuc.DataSource = sorgu.ToList();

    Soru   9)  Hangi Kategoriden kaç birim urun var

            var sorgu = from kategori in db.Categories
                        join urun in db.Products on kategori.CategoryID equals urun.CategoryID

                        group urun by urun.Category.CategoryName into grup
                        select new
                        {
                          KategoriAdi= grup.Key,
                          Adet=grup.Sum(x=>x.UnitsInStock)

                        };

            dgvSonuc.DataSource = sorgu.ToList();

      Soru  10 ) Kac farklı ülkeye satış yapılmış

            var sorgu = (from satis in db.Orders
                         select new { satis.ShipCountry }).Distinct();
            dgvSonuc.DataSource = sorgu.ToList();

            yada

            var sorgu2 = from satis in db.Orders
                         group satis by satis.ShipCountry into grup
                         select new { UlkeAdi=grup.Key };

            dgvSonuc.DataSource = sorgu2.ToList();

    Soru  12) hangi Ulkeye Kaçtane Siparis yapıldı

            var sorgu = from satis in db.Orders
                        group satis by satis.ShipCountry into grup
                        select new {
                           UlkeAdi= grup.Key,
                            SiparisAdet= grup.Count()
                        };
            dgvSonuc.DataSource = sorgu.ToList();

     Soru   13 )1996 yılında hangi ülkeye kaçtane sipariş gitmiş


            var sorgu = from satis in db.Orders
                        where satis.OrderDate.Value.Year==1996
                        group satis by satis.ShipCountry into grup
                        select new {
                         UlkeAdi=grup.Key,
                         Adeti= grup.Count(),

                        };

            dgvSonuc.DataSource = sorgu.ToList();

     Soru    14) 1996 yılında hangi ülkeye kaçtane sipariş gitmiş ve siparis sayısı 15 den büyük olan kayıtlar gelsin

            var sorgu = (from satis in db.Orders
                        where satis.OrderDate.Value.Year == 1996
                        group satis by satis.ShipCountry into grup
                        select new
                        {
                            UlkeAdi = grup.Key,
                            Adeti = grup.Count(),


                        });
            dgvSonuc.DataSource = sorgu.ToList();     

         Soru   15 ) Ülkelere giden kargoların ülke bazında ortalama taşıma ücretini  çokdan aza sıralayınız

            var sorgu = (from satis in db.Orders
                        group satis by satis.ShipCountry into grup
                        select new
                        {
                            UlkeAdi=grup.Key,
                           TasimaUcreti= grup.Average(x=>x.Freight)
                        }).OrderByDescending(x=>x.TasimaUcreti);

            dgvSonuc.DataSource = sorgu.ToList();

     Soru    16 ) Çalışanların ünvanlarının sayısı

            var sorgu = (from calisan in db.Employees
                        group calisan by calisan.TitleOfCourtesy into grup
                        select new {
                        Unvan= grup.Key,
                        Adet=grup.Count()
                        }).OrderByDescending(x=>x.Adet);
            dgvSonuc.DataSource = sorgu.ToList();

     Soru 17)  En yüksek ortalama uçuş fiyatı hangi ülkeye gitmiştir

            var sorgu = (from satis in db.Orders
                        group satis by satis.ShipCountry into grup
                        select new {
                        Ulke= grup.Key,
                        OrtalamaUcusFiyat= grup.Average(x=>x.Freight)
                        }).OrderByDescending(x=>x.OrtalamaUcusFiyat).Take(1);

            dgvSonuc.DataSource = sorgu.ToList();

    Soru   18)  Şimdiye kadar satılan ürünlerden nekadar hasılat elde ettik

            var sorgu = from satisdetay in db.Order_Details
                        join urun in db.Products on satisdetay.ProductID equals urun.ProductID
                        group satisdetay by urun.ProductName into grup
                        select new
                        {
                            UrunAdi = grup.Key,
                            AraToplam = grup.Sum(x => (x.Quantity * x.UnitPrice) )
                        };
            dgvSonuc.DataSource = sorgu.ToList();


Şimdi İse Entity Framework'de Crud İşlemlerine(Düzenle Sil Ekle Listele) ve  Lazy Loading, Eager Loading 'e Bakalım  Proje İndir

Video Anlatım 





Uygulama 2 indir


Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.