using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApplication6 { class Tax { public int Orani; public int Amount; public int ReasonCode; public string Reason; public override string ToString() { return string.Format("Oranı:{0}, Amount:{1}, ReasonCode:{2}, Reason:{3}", Orani,Amount,ReasonCode,Reason); } } class Program { static void Main(string[] args) { ListÇıktısı:lst = new List () { new Tax(){Amount = 10, Orani = 18}, new Tax(){Amount = 5, Orani = 18}, new Tax(){Amount = 0, Orani = 0, Reason = "351", ReasonCode = 351}, new Tax(){Amount = 0, Orani = 0, Reason = "251", ReasonCode = 251}, new Tax(){Amount = 6, Orani = 8}, new Tax(){Amount = 16, Orani = 8}, }; // Sum Amount var total = (from l in lst select l.Amount).Sum(); Console.WriteLine("Toplam Vergi: "+total); // GroupBy var a = from l in lst group l by l.Orani into g orderby g.Key select g; foreach (IGrouping g in a) { Console.WriteLine(g.Key); foreach (Tax tax in g) { Console.WriteLine(tax); } } } } }
Aklımda Kalası Kelimeler
* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur
Linq etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Linq etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
20 Ocak 2016 Çarşamba
Linq ile GroupBy ve Sum örneği
16 Aralık 2011 Cuma
Aggregate, Where ile FOR döngüsündeki işleri LINQ ile hızlıca yapmak
Normal hali:
string s = "Bu arasına _ işareti koyulacak metin"; for (int i = 0; i < s.Length; i++) { if (i % 2 == 0) { continue; } sResult += s[i] + "_"; }LINQ hali:
string s = "Bu arasına _ işareti koyulacak metin"; s.Where((t, i) => i%2 != 0).Aggregate("", (current, t) => current + (t + "_"));
Normal hali:
string s = "Bu arasına _ işareti koyulacak metin"; for (int i = 0; i < s.Length; i++) { sResult += s[i] + "_"; }LINQ hali:
string s = "Bu arasına _ işareti koyulacak metin"; s.Aggregate("", (current, t) => current + (t + "_"));
11 Kasım 2010 Perşembe
Linq ile NULL alanların SUM ile toplanması
Püf nokta nullable olarak cast etmekte.
var puan = (from p in DAO.context.TblOrtalamaPuanlar
where p.M_RefTabloAdi.Equals("Videolar") && p.M_RefTabloPKId.Equals(this.M_VideoId)
select p.M_Puan).Sum(p => (int?)p)
4 Şubat 2010 Perşembe
İleri Linq To Sql
var editorLastArticle = from article in DAO.context.GetTable()
group article by article.M_RefKoseYazariId
into g
let lastArticleDate = g.Max(x => x.M_KayitTarihi)
select new
{
Editor = g.Key,
LastArticleDate = lastArticleDate
};
var query = from article in DAO.context.GetTable()
join eal in editorLastArticle
on
new
{
article.M_RefKoseYazariId,
article.M_KayitTarihi
}
equals
new
{
M_RefKoseYazariId = eal.Editor,
M_KayitTarihi = eal.LastArticleDate
}
select new
{
article.M_YaziId,
article.M_Baslik,
article.M_Icerik,
article.M_RefKoseYazariId
};
SELECT [t0].[yazi_id] AS [M_YaziId], [t0].[baslik] AS [M_Baslik], [t0].[icerik] AS [M_Icerik], [t0].[refKoseYazari_id] AS [M_RefKoseYazariId]
FROM [Yazilar] AS [t0]
INNER JOIN (
SELECT MAX([t1].[kayitTarihi]) AS [value], [t1].[refKoseYazari_id]
FROM [Yazilar] AS [t1]
GROUP BY [t1].[refKoseYazari_id]
) AS [t2] ON ([t0].[refKoseYazari_id] = [t2].[refKoseYazari_id]) AND ([t0].[kayitTarihi] = [t2].[value])
JOIN ile ilgili güzel bir anlatımda Oğuz Yağmur'dan.
Linq ile GROUP BY ve LET kullanımı
Linq ile GROUP BY ve LET kullanımı
Başka bir kaynakta: http://www.zirvedekibeyinler.net/Makaleler-237-linq-to-sql--group-by.aspx
Context ct = new Context(cnn);
var editorsLastArticles
= from article in ct.GetTable()
group article by article.M_RefKoseYazariId
into g
let lastArticleDate = g.Max(x => x.M_KayitTarihi)
select new
{
Editor = g.Key,
LastArticleDate = lastArticleDate
};
Başka bir kaynakta: http://www.zirvedekibeyinler.net/Makaleler-237-linq-to-sql--group-by.aspx
Kaydol:
Kayıtlar (Atom)