基于2元素的分组

时间:2011-08-16 07:28:43

标签: linq entity-framework linq-to-sql linq-to-entities

等于这个

通过id,name

从表组中选择id,name,count(*)

什么是linq ???

2 个答案:

答案 0 :(得分:2)

在实体框架的情况下,最好直接从SQL返回计算投影:

var query = from x in context.YourEntities
            group x by new { x.ID, x.Name } into y
            select new 
                {
                    y.Key.ID,
                    y.Key.Name,
                    y.Count()
                };

这将在数据库中执行Count并减少传输的数据量。

答案 1 :(得分:0)

var groups = table.GroupBy(elt => new {ID = elt.ID, Name = elt.name});
foreach (var group in groups)
{
    var ID = group.Key.ID;
    var name = group.Key.Name;
    var count = group.Count();
...
}