我使用 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 的好教程,因为我是新手 :)
谢谢你。