更新自引用关系中所有子项的字段

时间:2011-05-16 22:06:49

标签: asp.net-mvc entity-framework asp.net-mvc-3

全部,

我正在使用Entity Framework和ASP.NET MVC 3.在应用程序的一部分中,我在表中有自引用关系(ID,ParentID等...)此表还有一个Status字段。当用户更新状态时,它需要更新其所有子项的状态。深度是可变的。

我希望在不使用Load()函数的情况下执行此操作,因为我听说效率不高。我也遇到过使用存储过程执行此操作的方法,但我希望此功能可以在EF中完成,理想情况下只需在POST操作中完成。

2 个答案:

答案 0 :(得分:1)

不幸的是,实体框架在自引用关系方面非常薄弱。如果层次结构中存在有限数量的可能级别,则可以执行一些技巧,但是使用存储过程可能会更好。

答案 1 :(得分:0)

这篇文章解答了答案:

Changes Cascading down to children in a Tree structure ASP.NET MVC 3

它是一个递归方法 - 即只是一种自我调用的方法。