【发布时间】:2012-01-29 11:28:12
【问题描述】:
我在 C# 和实体框架中工作。 我的数据库中有一个名为 Genre 的表。以下是它的属性: idGenre、姓名、idParentGenre。
例如。值将是:
(idGenre = 1, name = "声学", idParentGenre=2)
(idGenre = 2, name = "rock", idParentGenre=2)
(idGenre = 3, name = "国家", idParentGenre=4)
(idGenre = 4, name = "folk", idParentGenre=5)
(idGenre = 5, name = "someOtherGenre", idParentGenre=5)
如您所见,它有点像一棵树。
现在,我有一种方法可以在此表中进行搜索。输入参数是 idGenre 和 idParentGenre。如果流派 (idGenre) 是 idParentGenre 的儿子/孙子/孙子/...,我应该返回。
例如,我得到 idGenre=3,idParentGenre=5,我应该返回 true。
但是,Linq 中没有递归。有什么办法可以做到吗?
【问题讨论】:
-
“Linq 中的递归”是什么意思。你能展示你拥有的方法吗?它有什么问题?
-
用老式的方式来做。 LINQ 很棒,但它不能解决所有问题。