Entity Framework怎么GroupBY多个字段?为什么小弟我只能一个字段的
Entity Framework如何GroupBY多个字段?为什么我只能一个字段的?
Entity Framework如何GroupBY多个字段?为什么我只能一个字段的?
------解决方案--------------------
http://blog.****.net/q107770540/article/details/5802699
Entity Framework如何GroupBY多个字段?为什么我只能一个字段的?
------解决方案--------------------
http://blog.****.net/q107770540/article/details/5802699
public class TestData
{
public string Name{get;set;}
public int Count { get; set; }
public string BatNum { get; set; }
}
protected void Click(object sender, EventArgs e)
{
List<TestData> list = new List<TestData>();
list.Add(new TestData() { Name = "A", Count = 3, BatNum = "001" });
list.Add(new TestData() { Name = "A", Count = 3, BatNum = "001" });
list.Add(new TestData() { Name = "A", Count = 3, BatNum = "002" });
list.Add(new TestData() { Name = "b", Count = 3, BatNum = "001" });
list.Add(new TestData() { Name = "b", Count = 6, BatNum = "002" });
list.Add(new TestData() { Name = "b", Count = 3, BatNum = "003" });
list.Add(new TestData() { Name = "b", Count = 5, BatNum = "001" });
var query = from l in list
group l by new { l.Name, l.BatNum } into g
select new
{
Name = g.Key.Name,
Count = g.Sum(a => a.Count),
BatNum = g.Key.BatNum
};
string result = "";
foreach (var q in query)
{
result += "Name=/"" + q.Name + "/"," + "Count=/"" + q.Count + "/"," + "BatNum=/"" + q.BatNum + " /"<br />";
}
Response.Write(result);
}
//结果:
Name="A",Count="6",BatNum="001 "
Name="A",Count="3",BatNum="002 "
Name="b",Count="8",BatNum="001 "
Name="b",Count="6",BatNum="002 "
Name="b",Count="3",BatNum="003 "