假设我有一个名为 EMPLOYEE 的表,该表有一个名为 ManagerID 的字段。此字段是 EMPLOYEE 表的另一条记录的 FK,其中记录了他们的经理是谁。验证没有循环引用(递归外键)的理想方法是什么?
编辑 - 让我补充一点,每个员工都不需要经理。将有一些员工记录没有设置其 ManagerID 字段。
*示例:用户 123 将用户 345 作为他们的经理。用户 345 将用户 567 作为他们的经理。出于某种疯狂的原因,用户 567 将用户 123 作为他们的经理。
我想检查用户 345 是否在循环引用中。*
解决这个问题的最佳方法是什么?一个简单的查询?业务逻辑代码(C#/VB.NET)?
其他人做了什么?
示例表架构 -
-- Employee Table --
UserID (int - PK)
ManagerID (int - FK to another UserID; can be null)