gpt4 book ai didi

c# - Entity Framework 如何使用递归层次结构? Include() 似乎不适用于它

转载 作者:IT王子 更新时间:2023-10-29 03:42:54 27 4
gpt4 key购买 nike

我有一个ItemItem 有一个 Category

CategoryIDNameParent child ParentChildren 也属于 Category

当我对特定的 Item 执行 LINQ to Entities 查询时,它不会返回相关的 Category,除非我使用 Include("Category ") 方法。但它并没有带来完整的类别,包括它的 parent 和 child 。我可以做 Include("Category.Parent"),但这个对象有点像树,我有一个递归层次结构,但我不知道它在哪里结束。

如何让 EF 完全加载 Category,包含父项和子项,以及父项及其父项和子项,等等?

这不是针对整个应用程序的,出于性能方面的考虑,仅此特定实体(类别)需要它。

最佳答案

您可以使用 Load 而不是使用 Include 方法。

然后你可以为每个做一个循环遍历所有的 child ,加载他们的 child 。然后通过他们的 child 为每个人做一个,依此类推。

您向下的关卡数量将硬编码在您拥有的每个循环的数量中。

这里是一个使用Load的例子:http://msdn.microsoft.com/en-us/library/bb896249.aspx

关于c# - Entity Framework 如何使用递归层次结构? Include() 似乎不适用于它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1308158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com