C# 如何在实体框架中对列求和

C# 如何在实体框架中对列求和,c#,entity-framework-4,C#,Entity Framework 4,我试图对一列进行求和,并从成员角度获得详细信息 我的表格数据是 id membername cost 1 a 100 2 aa 100 3 a 100 4 aa 0 5 b 100 在实体框架中,我尝试对成本列求和,得到如下结果 membername totalcost a

我试图对一列进行求和,并从成员角度获得详细信息

我的表格数据是

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

在实体框架中,我尝试对成本列求和,得到如下结果

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)
                     };
var result=来自db.pruchasemasters.Where中的o(d=>d.memberid==d.membertable.id&&d.entrydate>=thisMonthStart&&d.entrydates s.price)
};

我如何读取结果以及我的代码是否正确?

类似的方法会奏效

    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);
    }

匿名类型是只读的,但“我如何读取此内容”是什么意思?有没有一种方法可以执行类似的操作,但使用Where条件而不是GroupBy?例如,我希望只返回一个人的membername和total。在我的问题中,如果您输入select@AllenWang
db.pruchasemasters.GroupBy(o=>“1”)…
将生成不带分组依据的sql查询