7[DefaultProperty(
"ConstraintName")]
8[Editor(
"Microsoft.VSDesigner.Data.Design.ForeignKeyConstraintEditor, Microsoft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
"System.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
74 if ((uint)
value <= 1u)
83 [DefaultValue(
Rule.Cascade)]
93 if ((uint)
value <= 3u)
140 [DefaultValue(
Rule.Cascade)]
150 if ((uint)
value <= 3u)
160 : this(null, parentColumn, childColumn)
168 Create(constraintName, parentColumns, childColumns);
172 : this(null, parentColumns, childColumns)
178 Create(constraintName, parentColumns, childColumns);
225 for (
int i = 0; i <
values.Length; i++)
241 for (
int i = 0; i < uniqueKeyValues.Length; i++)
243 object[]
array = (
object[])uniqueKeyValues[i];
248 for (
int j = 0; j < rows.Length; j++)
267 for (
int i = 0; i < uniqueKeyValues.Length; i++)
269 object[]
array = (
object[])uniqueKeyValues[i];
339 foreach (
DataRow dataRow
in rows3)
361 for (
int l = 0; l < rows2.Length; l++)
370 case Rule.SetDefault:
383 for (
int j = 0; j < rows.Length; j++)
411 for (
int i = 0; i < rows.Length; i++)
413 if (!rows[i]._inCascade)
452 for (
int m = 0; m < rows3.Length; m++)
470 for (
int l = 0; l < rows2.Length; l++)
477 case Rule.SetDefault:
488 for (
int j = 0; j < rows.Length; j++)
521 row._inCascade =
true;
548 row._inCascade =
false;
563 if (parentRow !=
null && parentRow.
_inCascade)
587 for (num2 = 0; num2 < keyValues3.Length; num2++)
596 if (num2 == keyValues3.Length)
665 for (
int i = 0; i < num2; i++)
680 array2[i] = dataTable2.
Columns[num];
686 foreach (
object key in base.ExtendedProperties.Keys)
688 foreignKeyConstraint.ExtendedProperties[
key] = base.ExtendedProperties[
key];
690 return foreignKeyConstraint;
699 for (
int i = 0; i < num; i++)
720 foreach (
object key in base.ExtendedProperties.Keys)
722 foreignKeyConstraint.ExtendedProperties[
key] = base.ExtendedProperties[
key];
724 return foreignKeyConstraint;
729 if (parentColumns.Length == 0 || childColumns.Length == 0)
733 if (parentColumns.Length != childColumns.Length)
737 for (
int i = 0; i < parentColumns.Length; i++)
739 if (parentColumns[i].Computed)
743 if (childColumns[i].Computed)
754 public override bool Equals([NotNullWhen(
true)]
object?
key)
770 return base.GetHashCode();
776 for (
int i = 0; i < parentRelations.
Count; i++)
778 if (parentRelations[i].ChildKeyConstraint ==
this)
780 return parentRelations[i];
static readonly DBNull Value
static ArgumentOutOfRangeException InvalidRule(Rule value)
static ArgumentOutOfRangeException InvalidAcceptRejectRule(AcceptRejectRule value)
static bool IsObjectNull(object value)
virtual ? DataSet _DataSet
virtual string ConstraintName
void CheckStateForProperty()
int IndexOf(DataColumn? column)
object ConvertValue(object value)
DataSetDateTime DateTimeMode
bool CompareValueTo(int record1, object value, bool checkType)
static DataRow[] GetChildRows(DataKey parentKey, DataKey childKey, DataRow parentRow, DataRowVersion version)
static DataRow GetParentRow(DataKey parentKey, DataKey childKey, DataRow childRow, DataRowVersion version)
bool HasKeyChanged(DataKey key)
bool HasVersion(DataRowVersion version)
object[] GetKeyValues(DataKey key)
void SetKeyValues(DataKey key, object[] keyValues)
DataColumnCollection Columns
DataRelationCollection ParentRelations
void DeleteRow(DataRow row)
void SetKeyValues(DataKey key, object[] keyValues, int record)
static Exception ExpressionInConstraint(DataColumn column)
static Exception ColumnsTypeMismatch()
static Exception FailedCascadeUpdate(string constraint)
static Exception ConstraintAddFailed(DataTable table)
static Exception TablesInDifferentSets()
static Exception CaseLocaleMismatch()
static Exception FailedClearParentTable(string table, string constraint, string childTable)
static Exception KeyColumnsIdentical()
static Exception FailedCascadeDelete(string constraint)
static Exception KeyLengthMismatch()
static Exception KeyLengthZero()
static Exception RemoveParentRow(ForeignKeyConstraint constraint)
static Exception ForeignKeyViolation(string constraint, object[] keys)
static string KeysToString(object[] keys)
override Constraint Clone(DataSet destination, bool ignorNSforTableLookup)
override Constraint Clone(DataSet destination)
DataColumn[] RelatedColumnsReference
string[] ChildColumnNames
bool IsKeyNull(object[] values)
void NonVirtualCheckState()
void CascadeCommit(DataRow row)
string[] ParentColumnNames
string[] _childColumnNames
override bool IsConstraintViolated()
override bool CanEnableConstraint()
virtual DataColumn[] Columns
string _parentTableNamespace
void Create(string relationName, DataColumn[] parentColumns, DataColumn[] childColumns)
ForeignKeyConstraint(string? constraintName, DataColumn[] parentColumns, DataColumn[] childColumns)
ForeignKeyConstraint(DataColumn[] parentColumns, DataColumn[] childColumns)
override bool CanBeRemovedFromCollection(ConstraintCollection constraints, bool fThrowException)
ForeignKeyConstraint Clone(DataTable destination)
void CheckCanRemoveParentRow(DataRow row)
ForeignKeyConstraint(string? constraintName, DataColumn parentColumn, DataColumn childColumn)
virtual DataTable RelatedTable
void CheckCascade(DataRow row, DataRowAction action)
void CascadeUpdate(DataRow row)
DataRelation FindParentRelation()
void CascadeDelete(DataRow row)
override void CheckState()
virtual DataColumn[] RelatedColumns
ForeignKeyConstraint(DataColumn parentColumn, DataColumn childColumn)
AcceptRejectRule _acceptRejectRule
override void CheckConstraint(DataRow childRow, DataRowAction action)
string[] _parentColumnNames
ForeignKeyConstraint(string? constraintName, string? parentTableName, string[] parentColumnNames, string[] childColumnNames, AcceptRejectRule acceptRejectRule, Rule deleteRule, Rule updateRule)
override int GetHashCode()
ForeignKeyConstraint(string? constraintName, string? parentTableName, string? parentTableNamespace, string[] parentColumnNames, string[] childColumnNames, AcceptRejectRule acceptRejectRule, Rule deleteRule, Rule updateRule)
override bool ContainsColumn(DataColumn column)
override void CheckCanAddToCollection(ConstraintCollection constraints)
void CheckCanClearParentTable(DataTable table)
override? DataTable Table
void CascadeRollback(DataRow row)
override bool Equals([NotNullWhen(true)] object? key)
virtual AcceptRejectRule AcceptRejectRule
bool IsKeyInIndex(object key)
DataRow[] GetRows(object[] values)
object[] GetUniqueKeyValues()
Range FindRecords(object key)
static string Format(string resourceFormat, object p1)
static string DataConstraint_ForeignKeyViolation
bool RecordsEqual(int record1, int record2)
string[] GetColumnNames()
bool ContainsColumn(DataColumn column)
DataColumn[] ColumnsReference
bool ColumnsEqual(DataKey key)