【发布时间】:2013-11-09 14:54:43
【问题描述】:
我正在尝试使用 LINQ,但我被困在这里。我的问题是我想检索特定一侧的所有用户的计数。让我解释。这是我的带有示例数据的表格快照。
ID 名称 SponsorID PairSide 1001 用户 1 1000 左 1002 用户 2 1001 左 1003 用户 3 1001 权利 1004 用户 4 1001 权利 1005 用户 5 1004 左 1006 用户 6 1004 权利 1007 用户 7 1002 左 1008 用户 8 1002 左 1009 用户 9 1003 权利 1010 用户 10 1001 右现在数据就像.. User1 有 4 个孩子,左侧有 1 个,右侧有 3 个,User2 左侧有两个孩子,依此类推。 由于 user2 是 User1 的孩子,所以 User2 的孩子也将成为 User1 的孩子。所以根据上面的数据,User1左边一共有4个孩子,右边有5个孩子。如有错误请见谅。但我想要一些 linq 或 sql 代码来计算这些东西
- 特定 ID 左侧的用户总数
- 特定 ID 权限的用户总数
- 枚举子用户,以便我可以使用它来显示树
这是虚拟数据,我的实际网站将包含至少 20,000 个数据,我必须在那里进行计算。请为此提供逻辑。
【问题讨论】:
-
请提供给我... Stack Overflow 的规则是:先试后问。使用 LINQ 进行递归查询是 Stack Overflow 上反复出现的问题。如果您寻找递归(或分层)查询 + LINQ,您会找到很多答案。好吧,实际上,缺少答案是因为 LINQ + recursive 不适合。此外,当您标记 [linq] 时,假定您的目标是 linq-to-objects,而您显然没有这样做。了解 LINQ 的类型始终很重要。与您的目标数据库一样。