Ola,我正在将一个旧的国家/地区/位置数据库结构重构为分层表。保持HierarchyID是最新的
我将使用新表的主键和自参考PARENTID列(主键)作为一个HIERARCHYID列的基础。因此
我的表如下所示:
PK名称PARENTID HIERARCHYID
1世界NULL/
2英国1/1/
3维冈2/1/2
我的问题是:当创建记录或记录的父项变更时,其他人实施了哪些方法来保持层次结构列的最新状态ED?
注意;我正在使用LINQtoSQL(我使用计算的hierarchyid.ToString()列来暴露代码中的沿袭,加上存储过程给我hierarchyid查询的性能好处)。
对于插入/更新管理:
我已经考虑覆盖在LINQtoSQL插入/更新程序为我的新表。
我已经考虑使用存储过程来管理更新/插入新记录。
在插入/更新以基于ParentID执行更新后,我考虑了递归触发器。
我还没有做出决定哪个课程!
有没有人使用这些方法来管理hierarchyids?有没有更好的方法,我没有考虑过,或者我错过了真正明显的东西!!??
感谢您的建议,我会坚持我认为的一个问题。我有一个RefreshLocationHierarchy sproc,它使用一个hierarchyid重新加载整个表的数据。这将在所有更新和插入之后调用(这不会那么频繁)。 – Oliver