通过筛选按字段分组

时间:2019-02-10 23:00:14

标签: c# ravendb

如何通过在非分组依据字段中进行过滤来进行分组?我正在使用c#连接到RavenDB数据库。

我是RavenDB的新手,我试图在RQL或c#上都无法成功运行基本的分组查询。我正在使用Raven.Client lib 4.1.3

var results = await session.Query<Order>()
    .Where(s => s.Date <= new DateTime(2019,1,1))
    .GroupByArrayValues(x => x.OrderItems.Select(y => y.ProductName))
    .Select(x => new
    {
        Product = x.Key,
        Total = x.Sum(s => s.Itens.Sum(i => i.ItemValue))
    })
    .OrderByDescending(x => x.Total)
    .ToListAsync();

运行此代码时,我从Raven.Client库获得了AggregateException。预先感谢。

1 个答案:

答案 0 :(得分:1)

我解决了这个问题...一些字符串的格式错误(末尾有空格),因此aggregate / groupby无法正确汇总和求和。

有趣的事实是SQL Server(我的测试数据的源)忽略了这一点,并将所有看起来相似的结果加在一起。因此,如果这里的数据库错误,那就是SQL Server。