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

◆ SerializeConstraints()

void System.Data.DataTable.SerializeConstraints ( SerializationInfo info,
StreamingContext context,
int serIndex,
bool allConstraints )
inlinepackageinherited

Definition at line 1381 of file DataTable.cs.

1382 {
1384 for (int i = 0; i < Constraints.Count; i++)
1385 {
1386 Constraint constraint = Constraints[i];
1387 if (constraint is UniqueConstraint uniqueConstraint)
1388 {
1389 int[] array = new int[uniqueConstraint.Columns.Length];
1390 for (int j = 0; j < array.Length; j++)
1391 {
1392 array[j] = uniqueConstraint.Columns[j].Ordinal;
1393 }
1395 arrayList2.Add("U");
1396 arrayList2.Add(uniqueConstraint.ConstraintName);
1398 arrayList2.Add(uniqueConstraint.IsPrimaryKey);
1399 arrayList2.Add(uniqueConstraint.ExtendedProperties);
1401 continue;
1402 }
1403 ForeignKeyConstraint foreignKeyConstraint = constraint as ForeignKeyConstraint;
1404 if (allConstraints || (foreignKeyConstraint.Table == this && foreignKeyConstraint.RelatedTable == this))
1405 {
1408 for (int k = 1; k < array2.Length; k++)
1409 {
1410 array2[k] = foreignKeyConstraint.RelatedColumns[k - 1].Ordinal;
1411 }
1412 int[] array3 = new int[foreignKeyConstraint.Columns.Length + 1];
1414 for (int l = 1; l < array3.Length; l++)
1415 {
1416 array3[l] = foreignKeyConstraint.Columns[l - 1].Ordinal;
1417 }
1419 arrayList3.Add("F");
1420 arrayList3.Add(foreignKeyConstraint.ConstraintName);
1423 arrayList3.Add(new int[3]
1424 {
1425 (int)foreignKeyConstraint.AcceptRejectRule,
1426 (int)foreignKeyConstraint.UpdateRule,
1427 (int)foreignKeyConstraint.DeleteRule
1428 });
1429 arrayList3.Add(foreignKeyConstraint.ExtendedProperties);
1431 }
1432 }
1433 info.AddValue(string.Format(CultureInfo.InvariantCulture, "DataTable_{0}.Constraints", serIndex), arrayList);
1434 }
void Add(TKey key, TValue value)
DataTableCollection Tables
Definition DataSet.cs:396
ConstraintCollection Constraints
Definition DataTable.cs:332
static CultureInfo InvariantCulture

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.array, System.Data.DataTable.Constraints, System.Data.InternalDataCollectionBase.Count, System.Runtime.Serialization.Dictionary, System.Format, System.Data.DataTableCollection.IndexOf(), System.info, System.Globalization.CultureInfo.InvariantCulture, and System.Data.DataSet.Tables.

Referenced by System.Data.DataTable.SerializeTableSchema().