我正在使用 sql server 中的大型分层数据集 - 使用标准的“EntityID,ParentID”类型的方法建模。整个树中大约有 25,000 个节点。
我经常需要访问树的子树,然后访问挂在子树节点上的相关数据。几年前,我基于表值函数构建了一个数据访问层,在给定子树的根节点的情况下,使用递归查询来获取任意子树。
我正在考虑使用实体框架,但我看不到如何查询这样的分层数据。AFAIK 在 Linq 中没有递归查询,我无法在我的实体数据模型中公开 TVF。
是继续使用存储过程的唯一解决方案吗?有没有其他人解决了这个问题?
澄清:树中的 25,000 个节点是指分层数据集的大小,与对象或实体框架无关。