.net 实体框架-父-子

.net 实体框架-父-子,.net,entity,.net,Entity,我有一个表示文件夹的父子实体。每个文件夹都有一个ParentFolderID外键。 我需要编写一个方法,获取文件夹名称并返回根文件夹(ParentFolder-NULL的文件夹),该文件夹指向相关文件夹。我不想看到特定文件夹的其他子文件夹。 我怎么做 比如说- 我有一个文件夹树- 迈克尔-->A&A1-->B-->C-->D 然后我搜索名为C的文件夹。 所以我需要方法返回: 迈克尔-->A1-->B-->C ('A'文件夹看不到,因为它不会指向'C'文件夹)为什么不迭代地爬上树呢?类似于whil

我有一个表示文件夹的父子实体。每个文件夹都有一个ParentFolderID外键。 我需要编写一个方法,获取文件夹名称并返回根文件夹(ParentFolder-NULL的文件夹),该文件夹指向相关文件夹。我不想看到特定文件夹的其他子文件夹。 我怎么做

比如说- 我有一个文件夹树- 迈克尔-->A&A1-->B-->C-->D

然后我搜索名为C的文件夹。 所以我需要方法返回: 迈克尔-->A1-->B-->C
('A'文件夹看不到,因为它不会指向'C'文件夹)

为什么不迭代地爬上树呢?类似于
while(currentNode.Parent!=NULL)currentNode=currentNode.Parent因为为此,我需要获取数据库中存在的所有文件夹。我希望在DB上运行的查询将尽可能小(只检索相关文件夹)。不,您不需要获取所有文件夹。如果查询文件夹的父文件夹,EF将生成一个查询,该查询将准确返回该文件夹。因此,你只需要从数据库中检索父母。我解决了我的问题。我编写了一个接收文件夹的递归方法,并检查它是否是根文件夹。如果是,请退回。若否-从DB获取它的父文件夹(包括它的父文件夹),并再次调用该方法。