小编SJF*_*JFJ的帖子

MongoDB C# 驱动程序 2.1 中 GroupBy 上的 LINQ 选择

我在使用运行 Mongo 3.0 的 2.1 C# 驱动程序的 Mongo 上遇到以下 LINQ 表达式问题。选择 Id 工作正常但不选择 A。

以下简单测试演示了我遇到的错误。

不支持指定的方法。在 MongoDB.Driver.Linq.Processors.AccumulatorBinder.GetAccumulatorArgument(表达式节点)

如果它不受支持,有什么建议可以解决它而不必先展开可查询的吗?我知道我可以使用 mongo 聚合框架,但这不是我们想要的,因为我们在这里没有接触到它,而且我不希望在这个级别使用 mongo 特定的语法。

[Test]
    public void TestLinqSelectOnGroupBy()
    {
        MongoClient mongoClient = new MongoClient();
        var repo = mongoClient.GetDatabase("GroupSelect");

        var a = new A() { Id = "1", Group = "A" };
        var col = repo.GetCollection<A>("A");
        col.InsertOneAsync(a);
        var allA = col.AsQueryable(); // adding .ToArray(); will obviously make it work but that is not very efficient

        var works =  allA.GroupBy(x => x.Group).Select(x => x.First().Id).ToArray(); …
Run Code Online (Sandbox Code Playgroud)

linq mongodb mongodb-.net-driver

3
推荐指数
1
解决办法
3596
查看次数

标签 统计

linq ×1

mongodb ×1

mongodb-.net-driver ×1