假设我有一个包含Column1,Column2和Column3的表。我在Column2的结果中进行分组,并希望有以下返回对象: {Key = Column2,Items = Column3的列表}
我知道如何在C#中执行此操作,但无法在F#中获得类似的结果。这是我到目前为止所得到的:
type sql = SqlDataProvider<Common.DatabaseProviderTypes.MSSQLSERVER, connectionString>
let ctx = sql.GetDataContext()
let res =
query{
for row in ctx.Dbo.Table1 do
groupBy row.Column2 into g
select (g.Key, g, g.Count())
}
但是当我尝试访问g中保存的内容时,它看起来像是空的。
我就是这样做的C#方式:
let res =
query{
for row in ctx.Dbo.Table1 do
select row
}
res.ToArray().GroupBy( fun (x) -> x.Column2 ).Select( fun (x) -> AnonymousObject<_,_,_>(x.Key, x.Select( fun (g) -> g.Column3).ToArray(), x.Count())).ToList() |> printfn "%A"