在IEnumerable结果中使用group by

时间:2016-06-08 12:18:44

标签: c# entity-framework linq linq-to-entities ienumerable

我有如下查询:

 IEnumerable<qryTable1> templates = from t in db.qryTable1
                                           where (t.GID == 1&&
                                           t.RID == 4 && t.CID == "user")
                                           select t;

假设,上面的查询返回以下结果:

TId GId RId CID
1    1   1   a
1    1   2   a
2    1   1   a
2    1   2   a
3    1   1   a
3    1   2   a

现在我想从上面的查询中得到如下结果:(删除RId列,使得结果具有仅具有TId,GId,CID的重复条目,然后通过TId对结果进行分组)。

TId GId  CID
1    1    a
2    1    a
3    1    a

另外,我想只在模板对象中获得所需的输出。这意味着结果应该在&#39; IEnumerable<qryTable1>&#39;对象

1 个答案:

答案 0 :(得分:0)

var distinct = db.qryTable1.Select(r => new {Tid = r.TId, GId = r.GId, CId = r.CId})
    .Distinct();