Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 树结构保持回归_C#_Sql Server - Fatal编程技术网

C# 树结构保持回归

C# 树结构保持回归,c#,sql-server,C#,Sql Server,我用C#和sql数据库创建了一个树形结构(代码、父代码、标题)。 每当此结构的节点发生更改时,我希望保存历史更改。 这样,如果用户希望看到以前的结构,就可以重建以前的树结构。 提前感谢。您如何从应用层访问数据库?您是否使用任何ORM?创建一个具有相同结构的跟踪表+历史日期和链接到原始表的触发器,将所有操作记录到此新跟踪表。这是一个层次结构,而不是树结构。这很重要,因为您可以使用hierarchyid类型而不是parent-child关系。不过,数据版本控制是一个完全不同的问题。您询问的是如何对整

我用C#和sql数据库创建了一个树形结构(代码、父代码、标题)。 每当此结构的节点发生更改时,我希望保存历史更改。 这样,如果用户希望看到以前的结构,就可以重建以前的树结构。
提前感谢。

您如何从应用层访问数据库?您是否使用任何ORM?创建一个具有相同结构的跟踪表+历史日期和链接到原始表的触发器,将所有操作记录到此新跟踪表。这是一个层次结构,而不是树结构。这很重要,因为您可以使用
hierarchyid
类型而不是
parent-child
关系。不过,数据版本控制是一个完全不同的问题。您询问的是如何对整个表(而不是单个节点或甚至单个路径)进行版本设置每当发生插入或更新时,使用DML触发器跟踪更改。在历史记录表中,将事务表的主键与changedate一起存储为datetime值。这将为您提供过去更改的完整历史记录。
hierarchyid
本质上是根目录的路径,因此在历史记录或时态表中保留旧值只会保留该路径。它不会保留到子级或层次结构其余部分的路径