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

◆ MergeDataSet()

void System.Data.Merger.MergeDataSet ( DataSet source)
inlinepackage

Definition at line 36 of file Merger.cs.

37 {
38 if (source == _dataSet)
39 {
40 return;
41 }
43 _dataSet.EnforceConstraints = false;
44 _IgnoreNSforTableLookup = _dataSet._namespaceURI != source._namespaceURI;
46 if (MissingSchemaAction.Add == _missingSchemaAction)
47 {
48 list = new List<DataColumn>();
49 foreach (DataTable table in _dataSet.Tables)
50 {
51 foreach (DataColumn column in table.Columns)
52 {
53 list.Add(column);
54 }
55 }
56 }
57 for (int i = 0; i < source.Tables.Count; i++)
58 {
59 MergeTableData(source.Tables[i]);
60 }
61 if (MissingSchemaAction.Ignore != _missingSchemaAction)
62 {
64 for (int j = 0; j < source.Relations.Count; j++)
65 {
66 MergeRelation(source.Relations[j]);
67 }
68 }
69 if (MissingSchemaAction.Add == _missingSchemaAction)
70 {
71 foreach (DataTable table2 in source.Tables)
72 {
73 DataTable dataTable3 = ((!_IgnoreNSforTableLookup) ? _dataSet.Tables[table2.TableName, table2.Namespace] : _dataSet.Tables[table2.TableName]);
74 foreach (DataColumn column2 in table2.Columns)
75 {
76 if (column2.Computed)
77 {
78 DataColumn dataColumn2 = dataTable3.Columns[column2.ColumnName];
79 if (!list.Contains(dataColumn2))
80 {
81 dataColumn2.CopyExpressionFrom(column2);
82 }
83 }
84 }
85 }
86 }
88 foreach (DataTable table3 in _dataSet.Tables)
89 {
90 table3.EvaluateExpressions();
91 }
92 _dataSet.EnforceConstraints = enforceConstraints;
93 }
DataTableCollection Tables
Definition DataSet.cs:396
PropertyCollection ExtendedProperties
Definition DataSet.cs:315
readonly MissingSchemaAction _missingSchemaAction
Definition Merger.cs:15
void MergeTableData(DataTable src)
Definition Merger.cs:364
void MergeExtendedProperties(PropertyCollection src, PropertyCollection dst)
Definition Merger.cs:485
void MergeConstraints(DataSet source)
Definition Merger.cs:382
bool _IgnoreNSforTableLookup
Definition Merger.cs:19
readonly DataSet _dataSet
Definition Merger.cs:9
void MergeRelation(DataRelation relation)
Definition Merger.cs:428

References System.Data.Merger._dataSet, System.Data.Merger._IgnoreNSforTableLookup, System.Data.Merger._missingSchemaAction, System.Data.DataTable.Columns, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Data.DataSet.EnforceConstraints, System.Data.DataSet.ExtendedProperties, System.list, System.Data.Merger.MergeConstraints(), System.Data.Merger.MergeExtendedProperties(), System.Data.Merger.MergeRelation(), System.Data.Merger.MergeTableData(), System.source, and System.Data.DataSet.Tables.