gpt4 book ai didi

c# - RavenDB Map/Reduce 作为列表的属性

转载 作者:行者123 更新时间:2023-11-30 14:16:51 25 4
gpt4 key购买 nike

刚刚学习 Map/Reduce,我错过了一步。我已阅读这篇文章 ( RavenDB Map-Reduce Example using .NET Client ),但无法完全跳到我需要的地方。

我有一个对象:

public class User : IIdentifiable
{
public User(string username)
{
Id = String.Format(@"users/{0}", username);
Favorites = new List<string>();
}

public IList<string> Favorites { get; protected set; }

public string Id { get; set; }
}

我想要做的是获取所有用户的 Map/Reduce Favorites 属性。像这样(但这显然行不通):

 Map = users => from user in users
from oil in user.Favorites
select new { OilId = oil, Count = 1 };
Reduce = results => from result in results
group result by result.OilId into g
select new { OilId = g.Key, Count = g.Sum(x => x.Count) };

例如,如果用户 1 有收藏夹 1、2、3,用户 2 有收藏夹 1,2,那么这应该返回 {{OilId=3, Count =1}, {OilId=2, Count = 2}, {OilId=1,Count = 2}}

当前代码产生异常:System.NotSupportedException:不支持节点:调用

我觉得我很接近。有帮助吗?

最佳答案

我写了一个小应用程序来复制您的代码,但我没有看到抛出的异常。在这里查看我的代码:http://pastie.org/2308175 .输出是

Favorite: 1, Count: 2

Favorite: 2, Count: 2

Favorite: 3, Count: 1

这是我所期望的。

关于c# - RavenDB Map/Reduce 作为列表的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com