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

◆ AddUniqueKey() [2/2]

DataColumn System.Data.DataTable.AddUniqueKey ( int position)
inlinepackageinherited

Definition at line 4254 of file DataTable.cs.

4255 {
4256 if (_colUnique != null)
4257 {
4258 return _colUnique;
4259 }
4260 DataColumn[] primaryKey = PrimaryKey;
4261 if (primaryKey.Length == 1)
4262 {
4263 return primaryKey[0];
4264 }
4265 string columnName = XMLSchema.GenUniqueColumnName(TableName + "_Id", this);
4266 DataColumn dataColumn = new DataColumn(columnName, typeof(int), null, MappingType.Hidden);
4269 dataColumn.AllowDBNull = false;
4270 dataColumn.Unique = true;
4271 if (position == -1)
4272 {
4274 }
4275 else
4276 {
4277 for (int num = Columns.Count - 1; num >= position; num--)
4278 {
4279 Columns[num].SetOrdinalInternal(num + 1);
4280 }
4281 Columns.AddAt(position, dataColumn);
4282 dataColumn.SetOrdinalInternal(position);
4283 }
4284 if (primaryKey.Length == 0)
4285 {
4286 PrimaryKey = new DataColumn[1] { dataColumn };
4287 }
4289 return _colUnique;
4290 }
void AddAt(int index, DataColumn column)
DataColumn _colUnique
Definition DataTable.cs:114
DataColumnCollection Columns
Definition DataTable.cs:327
DataColumn[] PrimaryKey
Definition DataTable.cs:607

References System.Data.DataTable._colUnique, System.Data.DataTable._tablePrefix, System.Data.DataColumnCollection.Add(), System.Data.DataColumnCollection.AddAt(), System.Data.DataTable.Columns, System.Data.InternalDataCollectionBase.Count, System.Runtime.Serialization.Dictionary, System.Data.XMLSchema.GenUniqueColumnName(), System.Data.DataTable.PrimaryKey, and System.Data.DataTable.TableName.