【发布时间】:2014-08-10 06:18:29
【问题描述】:
在下面的代码中,我试图从原始序列返回一个按 ProductName、Size 和 Packaging 属性分组的新序列类型,但我得到了一个未分组的新类型序列。我在这里错过了什么?
query{
for row in allDeliveries do
let key = AnonymousObject<_,_,_>(row.ProductName,row.Size,row.Packaging)
groupValBy row key into g
select g
}
|> Seq.map (fun (del) ->
{
POFD = del;
ProductName = del.Key.Item1;
Size = del.Key.Item2;
Packaging = del.Key.Item3;
Quantity = del.Count()
})
【问题讨论】:
-
我不认为
AnonymousObject会实现某种等价检查——为什么不使用像groupValBy row (row.ProductName, row.Size, row.Packaging)这样的普通F# 元组?为什么不使用select部分直接获取您的记录?