0

我有以下查询,我试图通过 TCount 获得 TopicCounts 的前 4 个:

  var bygroup = (from element in inputSplit
                group element by element.Text into groups
                from win in groups.TumblingWindow(TimeSpan.FromSeconds(10))
                select new TopicCounts
                    {
                     Topic = groups.Key,
                     TCount = win.Count(),
                     Score = win.Avg(element => element.Sen)
                     }
                ).OrderByDescending(x => x.TCount).Distinct().Take(4); 

每当我尝试构建时,我都会收到以下错误:

“Microsoft.ComplexEventProcessing.Linq.IQStreamable”不包含“OrderByDescending”的定义,并且没有扩展方法“OrderByDescending”接受类型的第一个参数

可以找到“Microsoft.ComplexEventProcessing.Linq.IQStreamable”(您是否缺少 using 指令或程序集引用?)

我错过了什么?

4

1 回答 1

0

IQStreamable 无法排序,因为它是一个流(流根据需要加载元素,排序需要整个集合)。为了对其进行排序,您需要加载整个集合。这可以通过在排序之前调用 ToList 来完成,但是如果集合很大,则最终会导致高内存使用。

于 2013-08-21T18:25:37.950 回答