我使用C#和Entity framework。我有一个名为Genre的数据库表,它具有以下属性:idGenre、name、idParentGenre。
例如,它们的值可能是:
(idGenre = 1, name = "acoustic", idParentGenre=2)
(idGenre = 2, name = "rock", idParentGenre=2)
(idGenre = 3, name = "country", idParentGenre=4)
(idGenre = 4, name = "folk", idParentGenre=5)
(idGenre = 5, name = "someOtherGenre", idParentGenre=5)
正如您所看到的,这是一种树形结构。
现在,我有一个搜索该表的方法。输入参数是idGenre和idParentGenre。我需要返回genre(idGenre)是否是idParentGenre的子/孙/曾孙……。
例如,当我得到idGenre=3,idParentGenre=5时,我应该返回true。
然而,在Linq中没有递归。有没有办法可以做到这一点?
例如,它们的值可能是:
(idGenre = 1, name = "acoustic", idParentGenre=2)
(idGenre = 2, name = "rock", idParentGenre=2)
(idGenre = 3, name = "country", idParentGenre=4)
(idGenre = 4, name = "folk", idParentGenre=5)
(idGenre = 5, name = "someOtherGenre", idParentGenre=5)
正如您所看到的,这是一种树形结构。
现在,我有一个搜索该表的方法。输入参数是idGenre和idParentGenre。我需要返回genre(idGenre)是否是idParentGenre的子/孙/曾孙……。
例如,当我得到idGenre=3,idParentGenre=5时,我应该返回true。
然而,在Linq中没有递归。有没有办法可以做到这一点?