1

我使用 GraphDiff 来保存代表以下数据模型的分离对象层次结构,

项目->课程->模块->主题。

问题是当我尝试重新排序对象层次结构时,

            Project 
            |_ Course A
            |  |_Module A
            |    |_Topic A
            |
            |_Course B
               |_Module B
                 |_Topic B

                    Project 
                    |_ Course A
                    |  |_Module A
                    |  | |_Topic A
                    |  |
                    |  |_Module B
                    |    |_Topic B
                    |
                    |_Course B

我已将模块 B 的 course_id 更新为 Course A id 并使用 graphdiff 将对象层次结构保存到数据库,这导致数据丢失(例如,保存后从数据库中删除了主题 B)。这就是我使用 graphdiff 保存项目对象的方式。

context.UpdateGraph(project, map => map.OwnedCollection(c => c.Courses,
                     with => with.OwnedCollection(m => m.Modules,
                       with1 => with1.OwnedCollection(t =>t.Topics))));

我想要的是在不丢失信息的情况下重新排列对象层次结构中的子项(对象树可以包含课程、模块和主题详细信息的更改)。此外,有人可以通过不同的例子提供关于 draphdiff 的好教程,因为我是新手 :)

谢谢你。

4

0 回答 0