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

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 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);
                }
            }
        }
    }
}
Çıktısı:

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ı



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