FindParentRelation() private method

private FindParentRelation ( ) : DataRelation
return DataRelation
示例#1
0
        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]);
 }