private bool IsCircularDependencyRecurisve(Table rootTable, ForeignKey fk) { if (visitedFK.Contains(fk)) { return false; } visitedFK.Add(fk); if (fk.Referenced == rootTable) { return true; } return fk.Referenced.ForeignKeys.Any(_fk => IsCircularDependencyRecurisve(rootTable, _fk)); }
private bool IsCircularDependency(Table rootTable, ForeignKey fk) { visitedFK.Clear(); return IsCircularDependencyRecurisve(rootTable, fk); }