本文整理汇总了C#中Raven.Database.Linq.DynamicViewCompiler.ReduceDefinition方法的典型用法代码示例。如果您正苦于以下问题:C# DynamicViewCompiler.ReduceDefinition方法的具体用法?C# DynamicViewCompiler.ReduceDefinition怎么用?C# DynamicViewCompiler.ReduceDefinition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raven.Database.Linq.DynamicViewCompiler
的用法示例。
在下文中一共展示了DynamicViewCompiler.ReduceDefinition方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Can_compile_map_reduce_using_linq_methods
public void Can_compile_map_reduce_using_linq_methods()
{
var viewGenerator = new DynamicViewCompiler("test", new IndexDefinition
{
Map = @"docs.Users
.Select(user => new {Location = user.Location, Count = 1})",
Reduce =
@"results
.GroupBy(agg => agg.Location)
.Select(g => new {Location = g.Key, Count = g.Sum(x => x.Count)})"
}, ".").GenerateInstance();
var source = viewGenerator.MapDefinitions[0](new[]
{
GetDocumentFromString(
@"
{
'@metadata': {'Raven-Entity-Name': 'Users', '@id': 1},
'Location': 'Tel Aviv'
}"),
GetDocumentFromString(
@"
{
'@metadata': {'Raven-Entity-Name': 'Users', '@id': 1},
'Location': 'Tel Aviv'
}")
}).ToArray();
var results = viewGenerator.ReduceDefinition(source).Cast<object>().ToArray();
var expected = new[]
{
"{ Location = Tel Aviv, Count = 2 }",
};
for (var i = 0; i < results.Length; i++)
{
Assert.Equal(expected[i], results[i].ToString());
}
}