Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Clone() [2/3]

override Constraint System.Data.ForeignKeyConstraint.Clone ( DataSet destination,
bool ignorNSforTableLookup )
inlinepackage

Definition at line 648 of file ForeignKeyConstraint.cs.

649 {
650 int num = ((!ignorNSforTableLookup) ? destination.Tables.IndexOf(Table.TableName, Table.Namespace, chekforNull: false) : destination.Tables.IndexOf(Table.TableName));
651 if (num < 0)
652 {
653 return null;
654 }
655 DataTable dataTable = destination.Tables[num];
656 num = ((!ignorNSforTableLookup) ? destination.Tables.IndexOf(RelatedTable.TableName, RelatedTable.Namespace, chekforNull: false) : destination.Tables.IndexOf(RelatedTable.TableName));
657 if (num < 0)
658 {
659 return null;
660 }
661 DataTable dataTable2 = destination.Tables[num];
662 int num2 = Columns.Length;
663 DataColumn[] array = new DataColumn[num2];
664 DataColumn[] array2 = new DataColumn[num2];
665 for (int i = 0; i < num2; i++)
666 {
667 DataColumn dataColumn = Columns[i];
668 num = dataTable.Columns.IndexOf(dataColumn.ColumnName);
669 if (num < 0)
670 {
671 return null;
672 }
673 array[i] = dataTable.Columns[num];
674 dataColumn = RelatedColumnsReference[i];
675 num = dataTable2.Columns.IndexOf(dataColumn.ColumnName);
676 if (num < 0)
677 {
678 return null;
679 }
680 array2[i] = dataTable2.Columns[num];
681 }
682 ForeignKeyConstraint foreignKeyConstraint = new ForeignKeyConstraint(ConstraintName, array2, array);
683 foreignKeyConstraint.UpdateRule = UpdateRule;
684 foreignKeyConstraint.DeleteRule = DeleteRule;
685 foreignKeyConstraint.AcceptRejectRule = AcceptRejectRule;
686 foreach (object key in base.ExtendedProperties.Keys)
687 {
688 foreignKeyConstraint.ExtendedProperties[key] = base.ExtendedProperties[key];
689 }
690 return foreignKeyConstraint;
691 }
virtual string ConstraintName
Definition Constraint.cs:24
ForeignKeyConstraint(DataColumn parentColumn, DataColumn childColumn)
virtual AcceptRejectRule AcceptRejectRule

References System.Data.ForeignKeyConstraint.ForeignKeyConstraint(), System.Data.ForeignKeyConstraint.AcceptRejectRule, System.array, System.Data.DataColumn.ColumnName, System.Data.DataTable.Columns, System.Data.ForeignKeyConstraint.Columns, System.Data.Constraint.ConstraintName, System.Data.ForeignKeyConstraint.DeleteRule, System.destination, System.Data.DataColumnCollection.IndexOf(), System.key, System.Data.DataTable.Namespace, System.Data.ForeignKeyConstraint.RelatedColumnsReference, System.Data.ForeignKeyConstraint.RelatedTable, System.Data.ForeignKeyConstraint.Table, System.Data.DataTable.TableName, and System.Data.ForeignKeyConstraint.UpdateRule.