【发布时间】:2016-02-10 02:46:33
【问题描述】:
我有多个对象的复杂连接,这导致填充的交叉点对象的“列表”...
class Intersect
{
public Subject Subj { get; set; }
public Article Art { get; set; }
public TopicArticle TopArt { get; set; }
public Topic Top { get; set; }
}
var intersections = System
.Where(s => s.SystemID == systemID)
.Join(Subject,
<snip>
该部分工作正常,组装数据正确。我接下来要做的是按 Top.ID 分组,同时返回 Count(Sys.ID) 和 Top.Name。我已经走到这一步了……
intersections.GroupBy(g => g.Top.ID)
...但是 .Select() 给出错误“无法从用法中推断出类型参数。尝试明确指定类型参数”,然后显示两种替代方法 - 一种用于 IQueryable 和一个用于 IEnumerable。同样 .Count() 给出“Ambiguous”错误。
我迷路了!这是我无法理解的 linq 的一部分,有人可以帮我解决这个问题的语法吗,我只是找不到任何可以让我正确的可比示例。
非常感谢。
【问题讨论】:
-
stackoverflow.com/questions/7325278/group-by-in-linq 可能接近您想要的,将 groupby 的函数更改为计数。