Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在LINQ中使用GroupBy创建一个FSharpMap(FSharpMap的)_C#_Linq - Fatal编程技术网

C# 在LINQ中使用GroupBy创建一个FSharpMap(FSharpMap的)

C# 在LINQ中使用GroupBy创建一个FSharpMap(FSharpMap的),c#,linq,C#,Linq,我希望做一些与问题非常类似的事情,但是我不能将结果放入字典,我需要将其放入FSharpMaps。数据将来自数据库,如下所示: User Name Key Value A Z 1 A Y 2 A X 3 B Z 1 B Y 2 B X 3

我希望做一些与问题非常类似的事情,但是我不能将结果放入字典,我需要将其放入
FSharpMap
s。数据将来自数据库,如下所示:

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

最终结果应为
FSharpMap
类型,其中用户名是外部
FSharpMap
的键,键是内部
FSharpMap
的键。我知道必须使用GroupBy减少用户名类别,但我不确定如何将GroupBy的结果转换为
FSharpMap
。我如何才能做到这一点?

以下是我最终实现它的方式。我希望得到改进建议

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
                             )
                         )
                    )
                )
            )
    )
)
MyDatabaseService.AspnetDB.SynchronousReturn(
context=>newfsharpmap(
context.aspnet_用户值
.GroupBy(databaseValue=>databaseValue.UserName)
.选择(组=>
新元组(
组键,
新地图(
组。选择(keyValuePair=>
新元组(
keyValuePair.Key,
键值对
)
)
)
)
)
)
)

FYI,您需要对问题中的一些字符进行转义:
FSharpMap
正在被吃掉。用反勾号将其包装,或使用