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

◆ BaseRemove()

void System.Data.ConstraintCollection.BaseRemove ( Constraint constraint)
inlineprivate

Definition at line 297 of file ConstraintCollection.cs.

298 {
299 if (constraint == null)
300 {
301 throw ExceptionBuilder.ArgumentNull("constraint");
302 }
303 if (constraint.Table != _table)
304 {
305 throw ExceptionBuilder.ConstraintRemoveFailed();
306 }
307 UnregisterName(constraint.ConstraintName);
308 constraint.InCollection = false;
309 if (constraint is UniqueConstraint)
310 {
311 for (int i = 0; i < Table.ChildRelations.Count; i++)
312 {
313 DataRelation dataRelation = Table.ChildRelations[i];
314 if (dataRelation.ParentKeyConstraint == constraint)
315 {
316 dataRelation.SetParentKeyConstraint(null);
317 }
318 }
319 ((UniqueConstraint)constraint).ConstraintIndexClear();
320 }
321 else
322 {
323 if (!(constraint is ForeignKeyConstraint))
324 {
325 return;
326 }
327 for (int j = 0; j < Table.ParentRelations.Count; j++)
328 {
329 DataRelation dataRelation2 = Table.ParentRelations[j];
330 if (dataRelation2.ChildKeyConstraint == constraint)
331 {
332 dataRelation2.SetChildKeyConstraint(null);
333 }
334 }
335 }
336 }
DataRelationCollection ParentRelations
Definition DataTable.cs:572
DataRelationCollection ChildRelations
Definition DataTable.cs:324

References System.Data.ConstraintCollection._table, System.Data.ExceptionBuilder.ArgumentNull(), System.Data.DataRelation.ChildKeyConstraint, System.Data.DataTable.ChildRelations, System.Data.Constraint.ConstraintName, System.Data.ExceptionBuilder.ConstraintRemoveFailed(), System.Data.InternalDataCollectionBase.Count, System.Data.DataRelation.ParentKeyConstraint, System.Data.DataTable.ParentRelations, System.Data.DataRelation.SetChildKeyConstraint(), System.Data.DataRelation.SetParentKeyConstraint(), System.Data.Constraint.Table, System.Data.ConstraintCollection.Table, and System.Data.ConstraintCollection.UnregisterName().

Referenced by System.Data.ConstraintCollection.BaseGroupSwitch(), and System.Data.ConstraintCollection.Remove().