Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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# Sitecore查询,是否可以计算整型字段的总和_C#_Sitecore - Fatal编程技术网

C# Sitecore查询,是否可以计算整型字段的总和

C# Sitecore查询,是否可以计算整型字段的总和,c#,sitecore,C#,Sitecore,我想知道是否可以在sitecore快速查询或任何其他方式中进行数学运算(如Sum) 我有100个数据类型为“整数”的字段“金钱支出”的项目。我想知道计算特定人员/用户的此字段总和的快速方法 这就是我正在做的,我使用快速查询来获取项目,然后计算总和 var searchStr = "{30218229-CFA8-4BC3-9F01-01E3E6469E51}"; var query = string.Format("fast:/sitecore/content/Intranet/User/Deta

我想知道是否可以在sitecore快速查询或任何其他方式中进行数学运算(如Sum)

我有100个数据类型为“整数”的字段“金钱支出”的项目。我想知道计算特定人员/用户的此字段总和的快速方法

这就是我正在做的,我使用快速查询来获取项目,然后计算总和

var searchStr = "{30218229-CFA8-4BC3-9F01-01E3E6469E51}";
var query = string.Format("fast:/sitecore/content/Intranet/User/Detail/*[@Active ='1']//*[@Profile Id=\"%{0}%\"]", searchStr);
var items = Sitecore.Context.Database.SelectItems(query);
    //Calculate sum
var sum = items.Aggregate(0, (x, y) => x + GeneralHelper.ConvertToInt16(y["Money spend"]));

我想知道如何快速计算总和

我认为最好的方法是使用索引(正如Mark已经提到的):

  • 为您的用户创建自定义索引,并在其中包含您的“金钱支出”值(以及您在查询这些值时的“活动”和“配置文件id”)。确保“花钱”已“储存”
  • 创建一个从SearchResultItem派生的自定义类,将“money-spend”字段作为属性包含在内
  • 使用ContentSearchAPI来查询用户,就像使用快速查询一样(索引会更快),并使用刚刚创建的自定义类来收集结果
  • 使用Linq计算您需要的内容

没有伴侣。您需要使用适当的索引技术。我建议您查看Sitecore.ContentSearch文档—它启用了OOTB。