如何用linq / linq2sql计算?

时间:2011-04-06 07:47:36

标签: linq-to-sql f# sequences

<@[for i in linq.TrueIncidents -> i.RecTime, i.Name ] @> |> query |> Array.ofSeq

如何获得不同名字的数量?

只是count(Name) where Name = somename...

我想首先我必须在这里选择所有姓名|&gt; Seq.distinctBy(fun x - &gt; x.Name) 然后使Seq.Count()不同选择Name将是其中一个名称然后联合所有选择...真的很奇怪的方式。

或者我可以稍后使用它作为对象,使用int ref计数器为每个有区别的名称...

据我所知,我的解释可能有些混乱,所以请问你是否能得到它。我想知道有没有办法使用Count(Name),其中Name = OneOfNames里面的闭包或linq2sql?

1 个答案:

答案 0 :(得分:2)

我无法编译以验证此时是否有效,但请尝试以下操作:

<@ linq.TrueIncidents
   |> Seq.groupBy (fun i -> i.Name)
   |> Seq.map (fun (name, is') -> name, Seq.length is') @>
|> query
|> Map.ofSeq

这应该为您提供Map<string, int>每个名称及其各自的出现次数。