树结构表和实体框架

时间:2011-07-25 02:20:55

标签: entity-framework

我有树状结构表,

Table{Id, ParentId, Name}

其中Id是主键,父ID是外键,但是在同一个表中。它将具有类似

的值
Id            ParentId             Name
1              -                          N1

2              1                          N2

3              1                          N3

4              2                          N4

这里,N2和N3是N1的子节点,N4是N2的子节点

我正在使用Entity框架和MVC构建像webservice一样的休息。

如何使用实体框架递归获取所有子节点?

1 个答案:

答案 0 :(得分:4)

  

如何使用实体框架递归获取所有子节点?

EF不支持递归查询。您可以在注释中轻松映射这样的结构,如@Eranga所引用的那样,但是一旦加载实体,您必须手动定义预先加载(=必须说它应该有多深)或者您的子实体将在第一次加载时通过延迟加载来加载访问(这是非常低效的)。

在EF中使用分层结构的最佳方法是使用数据库视图隐藏分层SQL查询或直接使用SQL /存储过程。