Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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# 只是另一个问题_C#_Mapreduce_Ravendb_Document Database - Fatal编程技术网

C# 只是另一个问题

C# 只是另一个问题,c#,mapreduce,ravendb,document-database,C#,Mapreduce,Ravendb,Document Database,我有一个行为: public class Act { public Act() { this.Tags = new List<Tag>(); } public string Id {get; set;} public string Name { get; set; } public IList<Tag> Tags { get; set; } } 我希望能够查询数据库并获得标记计数列表,该列表显示

我有一个行为:

public class Act 
{
    public Act()
    {
        this.Tags = new List<Tag>();
    } 

    public string Id {get; set;}

    public string Name { get; set; }

    public IList<Tag> Tags { get; set; }

}
我希望能够查询数据库并获得标记计数列表,该列表显示标记的名称及其出现的次数

到目前为止,我有:

public class Tags_ByTagCloud : AbstractIndexCreationTask
{
    public override IndexDefinition CreateIndexDefinition()
    {
        return new IndexDefinition<Act, TagAndCount>
                   {
                       Map = docs => from doc in docs
                                     from tag in doc.Tags
                                     select new
                                                {
                                                    Name = tag.Name,
                                                    Count = 1
                                                },
                       Reduce = results => from result in results
                                           group result by result.TagName
                                           into g
                                           select new
                                                      {
                                                          Name = g.Key,
                                                          Count = g.Sum(x => x.Count)
                                                      },
                       SortOptions = {{x => x.Count, SortOptions.Int}}
                   }.ToIndexDefinition(DocumentStore.Conventions);
    }
}
它什么也不输出。我知道有成千上万的表演,每一个都有至少几个标签。有什么想法吗

理想情况下,我希望传入一个act ID列表,以对其进行查询。那么,给定一个行为列表,标签是什么,有多少次
每次都会发生?

只需更改所有标记名以匹配名称,它映射得很好

抱歉-在实现之前点击提交按钮-很好的呼叫:我们不知道什么是文档、结果或ToIndexDefinition。您是否分别查看了Map和Reduce的查询结果?这里没有足够的信息给我。这是RavenDb标准的东西-你知道RavenDb是什么吗?[恼人的][grrr][除非你知道你在说什么,否则不要插嘴]只需更改所有标记名以匹配名称,它就映射得很好。像个骗子一样工作
public class Tags_ByTagCloud : AbstractIndexCreationTask
{
    public override IndexDefinition CreateIndexDefinition()
    {
        return new IndexDefinition<Act, TagAndCount>
                   {
                       Map = docs => from doc in docs
                                     from tag in doc.Tags
                                     select new
                                                {
                                                    Name = tag.Name,
                                                    Count = 1
                                                },
                       Reduce = results => from result in results
                                           group result by result.TagName
                                           into g
                                           select new
                                                      {
                                                          Name = g.Key,
                                                          Count = g.Sum(x => x.Count)
                                                      },
                       SortOptions = {{x => x.Count, SortOptions.Int}}
                   }.ToIndexDefinition(DocumentStore.Conventions);
    }
}