LINQ to SQLのメモ
LINQ to SQLを仕事で使う機会があったので、実際に使うまでやり方を知らなかった機能のメモ。
Group by
group 要素 by キー
var db = new HogeDataContext(); var query = from d in db.Person group d by d.Organization;
さらにここから集計する場合
var result = query.ToDictionary(g => g.Key, g => g.Count()); Console.WriteLine(result["A"]); Console.WriteLine(result["B"]); Console.WriteLine(result["C"]); Console.WriteLine(result.Sum(o => o.Value));
Join
join 要素 in テーブル on 条件の左辺 equals 条件の右辺
var db = new HogeDataContext(); var query = from p in db.Person join org in db.Organization on p.OrgId equals org.Id where org.Name == "A" select p;