Bu aralar yaptığım projede entity framework kullandığım için linq problemleriyle çok karşılaşıyorum.Aslında basit konulardır fakat henüz yeni yeni geliştirdiğim için kendimi bu konuda sıkıntıları çekmeye de devam edeceğe benziyorum.Ama yılmak yok.
İçiçe sorgu için stackoverflowdan en son çözüm olarak bulduğum sorgu budur
from p in context.ParentTable
let cCount =
(
from c in context.ChildTable
where p.ParentId == c.ChildParentId
select c
).Count()
select new { ParentId = p.Key, Count = cCount } ;
c#.net , asp.net,sql hazır kodları bu sitede,hazır c# kod
linq framework etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
linq framework etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
5 Kasım 2014 Çarşamba
4 Kasım 2014 Salı
Linq left outer join kullanımı
Bir önceki yazımdaki isnull fonksiyonu adlı konuyu araştırmama sebep olan sql kodunun içinde left outerda olması bu konuyuda araştırmama itti beni.Konuyla ilgili Oğuz yağmur'un blogunda anlatımı uygulayarak yaptım orjinal link : Buradadur
Yakın zamanda da yaşadığım bir sorun olan site kapalılığı nedeniyle ileride olası oğuz yağmurun sayfa kapatma ihtimaline karşın yazıyı da burada paylaşıyorum.
Linq kodu budur
from kisi in Kisisjoin tlf in Telefonson kisi.ID equals tlf.KisiID into datafrom x in data.DefaultIfEmpty()select new{
Ad = kisi.Ad,
Tlf = x.Numara}
Bu kodun sql çıktısı ise şu şekildedir
SELECT [t0].[Ad], [t1].[Numara] AS [Tlf]
FROM [Kisi] AS [t0]
LEFT OUTER JOIN [Telefon] AS [t1] ON [t0].[ID] = [t1].[KisiID]
Burada normalde telefonu olmayanları getirmesi için yazıyoruz. into data from x in data.DefaultIfEmpty() kodu olmasa telefonu olmayan kişileri listelemeyecekti.
Yakın zamanda da yaşadığım bir sorun olan site kapalılığı nedeniyle ileride olası oğuz yağmurun sayfa kapatma ihtimaline karşın yazıyı da burada paylaşıyorum.
Linq kodu budur
from kisi in Kisisjoin tlf in Telefonson kisi.ID equals tlf.KisiID into datafrom x in data.DefaultIfEmpty()select new{
Ad = kisi.Ad,
Tlf = x.Numara}
Bu kodun sql çıktısı ise şu şekildedir
SELECT [t0].[Ad], [t1].[Numara] AS [Tlf]
FROM [Kisi] AS [t0]
LEFT OUTER JOIN [Telefon] AS [t1] ON [t0].[ID] = [t1].[KisiID]
Burada normalde telefonu olmayanları getirmesi için yazıyoruz. into data from x in data.DefaultIfEmpty() kodu olmasa telefonu olmayan kişileri listelemeyecekti.
Linq de ISNULL(,) fonksiyonu
Elimde bulunan bir sql sorgusunu linqe çevirirken isnull fonksiyonunun kullanılışını gördüm ve buraya yazıyorum.
Örnek sql;
SELECT isNull(Qty,0) FROM BillMain
Linq Versiyonu ;
var result= from b in BillMain select new{Qty=(b.Qty==DBNull.value ? 0:b.Qty)}
Örnek sql;
SELECT isNull(Qty,0) FROM BillMain
Linq Versiyonu ;
var result= from b in BillMain select new{Qty=(b.Qty==DBNull.value ? 0:b.Qty)}
Kaydol:
Kayıtlar (Atom)