Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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# RavenDB查询映射/减少索引中的聚合属性_C#_.net_Nosql_Ravendb_Document Database - Fatal编程技术网

C# RavenDB查询映射/减少索引中的聚合属性

C# RavenDB查询映射/减少索引中的聚合属性,c#,.net,nosql,ravendb,document-database,C#,.net,Nosql,Ravendb,Document Database,我有一个map/reduce索引,看起来像这样(在服务器上定义的) 地图: 减少: from result in results group result by new { result.Year, result.Month, result.Day, result.Hour, result.Minute } into g select new { DocumentID = Guid.NewGuid(), Year = g.Key.Year,

我有一个map/reduce索引,看起来像这样(在服务器上定义的)

地图:

减少:

from result in results
group result by new { result.Year, result.Month, result.Day, result.Hour, result.Minute }
    into g
    select new
    {
       DocumentID = Guid.NewGuid(),
       Year = g.Key.Year,
       Month = g.Key.Month,
       Day = g.Key.Day,
       Hour = g.Key.Hour,
       Minute = g.Key.Minute,
       RequestBytes = g.Sum(r => r.RequestBytes),
       ResponseBytes = g.Sum(r => r.ResponseBytes),
       TotalRequests = g.Sum(r => r.TotalRequests)
    }
我试图查询map/reduce索引的结果,如下所示:

session.Query<UsageAggregate>("RequestAggregateByMinute", true)
                                .Where(a => a.TotalRequests >= 1);
session.Query(“RequestAggregateByMinute”,true)
其中(a=>a.TotalRequests>=1);
但是,当有许多结果(如studio中所示)的TotalRequests属性大于1时,我没有得到任何结果。当我不包含where谓词时,我会得到结果;当我对聚合属性(RequestBytes、ResponseBytes和TotalRequests)以外的任何其他属性进行筛选时,我也会得到结果


有人能帮我理解我做错了什么吗?

好的,我知道了。不管出于什么原因,我需要像这样转换Sum()的结果。一旦动态编译被发送到raven服务器,这一定与动态编译有关

from result in results
group result by new { result.Year, result.Month, result.Day, result.Hour, result.Minute }
    into g
    select new
    {
       DocumentID = Guid.NewGuid(),
       Year = g.Key.Year,
       Month = g.Key.Month,
       Day = g.Key.Day,
       Hour = g.Key.Hour,
       Minute = g.Key.Minute,
       RequestBytes = (Int32)g.Sum(r => r.RequestBytes),
       ResponseBytes = (Int32)g.Sum(r => r.ResponseBytes),
       TotalRequests = (Int32)g.Sum(r => r.TotalRequests)
    }

再多了解一点。似乎我无法对聚合字段执行范围查询(例如,大于不起作用,等于起作用)。
from result in results
group result by new { result.Year, result.Month, result.Day, result.Hour, result.Minute }
    into g
    select new
    {
       DocumentID = Guid.NewGuid(),
       Year = g.Key.Year,
       Month = g.Key.Month,
       Day = g.Key.Day,
       Hour = g.Key.Hour,
       Minute = g.Key.Minute,
       RequestBytes = (Int32)g.Sum(r => r.RequestBytes),
       ResponseBytes = (Int32)g.Sum(r => r.ResponseBytes),
       TotalRequests = (Int32)g.Sum(r => r.TotalRequests)
    }