internal static bool AutoGenerated(ForeignKeyConstraint fk, bool checkRelation) { // for now we use just this simple logic for the columns. DataRelation rel = fk.FindParentRelation(); if (checkRelation) { if (rel == null) return false; // otherwise roundtrip will create column if (!AutoGenerated(rel)) return false; if (rel.RelationName != fk.ConstraintName) return false; } if (fk.ExtendedProperties.Count > 0) return false; if (fk.AcceptRejectRule != AcceptRejectRule.None) return false; if (fk.DeleteRule != Rule.Cascade) return false; if (fk.DeleteRule != Rule.Cascade) return false; if (fk.RelatedColumnsReference.Length !=1) return false; return AutoGenerated(fk.RelatedColumnsReference[0]); }
internal static bool AutoGenerated(ForeignKeyConstraint fk, bool checkRelation) { DataRelation rel = fk.FindParentRelation(); if (checkRelation) { if (rel == null) { return false; } if (!AutoGenerated(rel)) { return false; } if (rel.RelationName != fk.ConstraintName) { return false; } } if (fk.ExtendedProperties.Count > 0) { return false; } if (fk.AcceptRejectRule != AcceptRejectRule.None) { return false; } if (fk.DeleteRule != Rule.Cascade) { return false; } if (fk.DeleteRule != Rule.Cascade) { return false; } if (fk.RelatedColumnsReference.Length != 1) { return false; } return AutoGenerated(fk.RelatedColumnsReference[0]); }