public bool ShareAncestor(Table table) { if (table == null) return false; if (table == this) return false; var list1 = this.GetTableHierarchy(); var list2 = table.GetTableHierarchy(); return (list1.Intersect(list2).Count() > 0); }