0

我正在寻找与这个问题非常相似的事情,但是我不能将结果放入字典中,我需要将其放入FSharpMaps. 数据将来自数据库,如下所示:

User Name   Key         Value
A           Z           1
A           Y           2
A           X           3

B           Z           1
B           Y           2
B           X           3

C           Z           1
C           Y           2
C           X           3

最终结果应该是 type FSharpMap<string, FSharpMap<string, string>>,其中 UserName 是外部的键,FSharpMap而 Key 是内部的键FSharpMap。我知道必须使用 GroupBy 减少用户名类别,但我不确定如何获取 group by 的结果并将其转换为FSharpMap. 我怎样才能做到这一点?

4

1 回答 1

0

这是我最终实现它的方式。我很乐意提出改进建议

MyDatabaseService.AspnetDB.SynchronousReturn(
    context => new FSharpMap<string, FSharpMap<string, string>>(
        context.aspnet_UsersValues
            .GroupBy(databaseValue => databaseValue.UserName)
            .Select(group =>
                 new Tuple<string, FSharpMap<string, string>>(
                     group.Key, 
                     new FSharpMap<string, string>(
                         group.Select(keyValuePair => 
                             new Tuple<string, string>(
                                 keyValuePair.Key, 
                                 keyValuePair.Value
                             )
                         )
                    )
                )
            )
    )
)
于 2013-10-18T14:37:16.357 回答