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

◆ Clone()

virtual DataSet System.Data.DataSet.Clone ( )
inlinevirtual

Definition at line 977 of file DataSet.cs.

978 {
979 long scopeId = DataCommonEventSource.Log.EnterScope("<ds.DataSet.Clone|API> {0}", ObjectID);
980 try
981 {
983 if (dataSet.Tables.Count > 0)
984 {
985 dataSet.Reset();
986 }
996 DataTableCollection tables = Tables;
997 for (int i = 0; i < tables.Count; i++)
998 {
999 DataTable dataTable = tables[i].Clone(dataSet);
1000 dataTable._tableNamespace = tables[i].Namespace;
1001 dataSet.Tables.Add(dataTable);
1002 }
1003 for (int j = 0; j < tables.Count; j++)
1004 {
1005 ConstraintCollection constraints = tables[j].Constraints;
1006 for (int k = 0; k < constraints.Count; k++)
1007 {
1008 if (!(constraints[k] is UniqueConstraint))
1009 {
1010 ForeignKeyConstraint foreignKeyConstraint = (ForeignKeyConstraint)constraints[k];
1011 if (foreignKeyConstraint.Table != foreignKeyConstraint.RelatedTable)
1012 {
1013 dataSet.Tables[j].Constraints.Add(constraints[k].Clone(dataSet));
1014 }
1015 }
1016 }
1017 }
1018 DataRelationCollection relations = Relations;
1019 for (int l = 0; l < relations.Count; l++)
1020 {
1021 DataRelation dataRelation = relations[l].Clone(dataSet);
1023 dataSet.Relations.Add(dataRelation);
1025 }
1026 if (_extendedProperties != null)
1027 {
1028 foreach (object key in _extendedProperties.Keys)
1029 {
1030 dataSet.ExtendedProperties[key] = _extendedProperties[key];
1031 }
1032 }
1033 foreach (DataTable table in Tables)
1034 {
1035 foreach (DataColumn column in table.Columns)
1036 {
1037 if (column.Expression.Length != 0)
1038 {
1039 dataSet.Tables[table.TableName, table.Namespace].Columns[column.ColumnName].CopyExpressionFrom(column);
1040 }
1041 }
1042 }
1043 for (int m = 0; m < tables.Count; m++)
1044 {
1045 dataSet.Tables[m]._tableNamespace = tables[m]._tableNamespace;
1046 }
1048 return dataSet;
1049 }
1050 finally
1051 {
1052 DataCommonEventSource.Log.ExitScope(scopeId);
1053 }
1054 }
void Add(TKey key, TValue value)
virtual ICollection Keys
Definition Hashtable.cs:532
DataRelationCollection Relations
Definition DataSet.cs:393
CultureInfo _culture
Definition DataSet.cs:73
DataTableCollection Tables
Definition DataSet.cs:396
SerializationFormat RemotingFormat
Definition DataSet.cs:109
virtual DataSet Clone()
Definition DataSet.cs:977
PropertyCollection _extendedProperties
Definition DataSet.cs:61
DataSet CreateInstanceOfThisType()
Definition DataSet.cs:971

References System.Data.DataSet._culture, System.Data.DataSet._cultureUserSet, System.Data.DataSet._extendedProperties, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Data.DataSet.CaseSensitive, System.Data.DataSet.Clone(), System.Data.DataTable.Columns, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Data.DataSet.CreateInstanceOfThisType(), System.Data.DataSet.DataSetName, System.Runtime.Serialization.Dictionary, System.Data.DataSet.EnforceConstraints, System.key, System.Collections.Hashtable.Keys, System.Data.DataCommonEventSource.Log, System.Data.DataSet.Namespace, System.Data.DataTable.Namespace, System.Data.DataSet.ObjectID, System.Data.DataSet.Prefix, System.Data.DataSet.Relations, System.Data.DataSet.RemotingFormat, System.Data.DataTable.TableName, and System.Data.DataSet.Tables.

Referenced by System.Data.DataSet.Clone(), System.Xml.XmlDataDocument.CloneNode(), System.Data.DataSet.Copy(), System.Data.DataSet.GetChanges(), and System.Data.DataSet.ReadXmlDiffgram().