LINQ Query Expressions
Sinan Arslan
11:27
Düzenle
,
Eager Loading
,
Ekle
,
Entity Framework'de Crud İşlemleri
,
Lazy Loading
,
LINQ Query Expressions
,
Listele
,
Sil
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
Kaydol:
Kayıt Yorumları
(
Atom
)
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.