15

私は列を合計し、メンバーごとに詳細を取得しようとしています

私のテーブルデータは

id   membername     cost
1   a               100
2   aa              100
3   a               100
4   aa                0
5   b               100

Entity Frameworkでは、コスト列を合計して次のような結果を取得しようとしています

membername             totalcost
a                      200
aa                     100
b                      100

それから私はこれをやっています

var result = from o in db.pruchasemasters.Where(d => d.memberid == d.membertable.id && d.entrydate >= thisMonthStart && d.entrydate <= thisMonthEnd)
                     group o by new { o.membertable.members } into purchasegroup
                     select new
                     {
                         membername = purchasegroup.Key,
                         total = purchasegroup.Sum(s => s.price)
                     };

結果を読み取るにはどうすればよいですか?コードは正しいですか?

4

1 に答える 1

26

そのようなものはうまくいくでしょう

    var result = db.pruchasemasters.GroupBy(o => o.membername)
                   .Select(g => new { membername = g.Key, total = g.Sum(i => i.cost) });

    foreach (var group in result)
    {
        Console.WriteLine("Membername = {0} Totalcost={1}", group.membername, group.total);
    }
于 2013-01-17T21:11:17.017 に答える