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

◆ MergeConstraints() [2/2]

void System.Data.Merger.MergeConstraints ( DataTable table)
inlineprivate

Definition at line 390 of file Merger.cs.

391 {
392 for (int i = 0; i < table.Constraints.Count; i++)
393 {
394 Constraint constraint = table.Constraints[i];
395 Constraint constraint2 = constraint.Clone(_dataSet, _IgnoreNSforTableLookup);
396 if (constraint2 == null)
397 {
398 _dataSet.RaiseMergeFailed(table, System.SR.Format(System.SR.DataMerge_MissingConstraint, constraint.GetType().FullName, constraint.ConstraintName), _missingSchemaAction);
399 continue;
400 }
401 Constraint constraint3 = constraint2.Table.Constraints.FindConstraint(constraint2);
402 if (constraint3 == null)
403 {
404 if (MissingSchemaAction.Add == _missingSchemaAction)
405 {
406 try
407 {
408 constraint2.Table.Constraints.Add(constraint2);
409 }
410 catch (DuplicateNameException)
411 {
412 constraint2.ConstraintName = string.Empty;
413 constraint2.Table.Constraints.Add(constraint2);
414 }
415 }
416 else if (MissingSchemaAction.Error == _missingSchemaAction)
417 {
418 _dataSet.RaiseMergeFailed(table, System.SR.Format(System.SR.DataMerge_MissingConstraint, constraint.GetType().FullName, constraint.ConstraintName), _missingSchemaAction);
419 }
420 }
421 else
422 {
423 MergeExtendedProperties(constraint.ExtendedProperties, constraint3.ExtendedProperties);
424 }
425 }
426 }
void Add(TKey key, TValue value)
void RaiseMergeFailed(DataTable table, string conflict, MissingSchemaAction missingSchemaAction)
Definition DataSet.cs:2593
readonly MissingSchemaAction _missingSchemaAction
Definition Merger.cs:15
void MergeExtendedProperties(PropertyCollection src, PropertyCollection dst)
Definition Merger.cs:485
bool _IgnoreNSforTableLookup
Definition Merger.cs:19
readonly DataSet _dataSet
Definition Merger.cs:9
static string DataMerge_MissingConstraint
Definition SR.cs:562
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
Definition SR.cs:7

References System.Data.Merger._dataSet, System.Data.Merger._IgnoreNSforTableLookup, System.Data.Merger._missingSchemaAction, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Data.Constraint.Clone(), System.Data.Constraint.ConstraintName, System.Data.DataTable.Constraints, System.Data.InternalDataCollectionBase.Count, System.SR.DataMerge_MissingConstraint, System.Data.Constraint.ExtendedProperties, System.SR.Format(), System.Data.Merger.MergeExtendedProperties(), and System.Data.DataSet.RaiseMergeFailed().