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

◆ AddCore()

virtual void System.Data.DataRelationCollection.AddCore ( DataRelation relation)
inlineprotectedvirtual

Reimplemented in System.Data.DataRelationCollection.DataTableRelationCollection, and System.Data.DataRelationCollection.DataSetRelationCollection.

Definition at line 514 of file DataRelationCollection.cs.

515 {
516 DataCommonEventSource.Log.Trace("<ds.DataRelationCollection.AddCore|INFO> {0}, relation={1}", ObjectID, relation?.ObjectID ?? 0);
517 if (relation == null)
518 {
519 throw ExceptionBuilder.ArgumentNull("relation");
520 }
521 relation.CheckState();
522 DataSet dataSet = GetDataSet();
523 if (relation.DataSet == dataSet)
524 {
525 throw ExceptionBuilder.RelationAlreadyInTheDataSet();
526 }
527 if (relation.DataSet != null)
528 {
529 throw ExceptionBuilder.RelationAlreadyInOtherDataSet();
530 }
531 if (relation.ChildTable.Locale.LCID != relation.ParentTable.Locale.LCID || relation.ChildTable.CaseSensitive != relation.ParentTable.CaseSensitive)
532 {
533 throw ExceptionBuilder.CaseLocaleMismatch();
534 }
535 if (relation.Nested)
536 {
537 relation.CheckNamespaceValidityForNestedRelations(relation.ParentTable.Namespace);
538 relation.ValidateMultipleNestedRelations();
539 relation.ParentTable.ElementColumnCount++;
540 }
541 }

References System.Data.ExceptionBuilder.ArgumentNull(), System.Data.ExceptionBuilder.CaseLocaleMismatch(), System.Data.DataTable.CaseSensitive, System.Data.DataRelation.CheckNamespaceValidityForNestedRelations(), System.Data.DataRelation.CheckState(), System.Data.DataRelation.ChildTable, System.Data.DataRelation.DataSet, System.Data.DataTable.ElementColumnCount, System.Data.DataRelationCollection.GetDataSet(), System.Globalization.CultureInfo.LCID, System.Data.DataTable.Locale, System.Data.DataCommonEventSource.Log, System.Data.DataTable.Namespace, System.Data.DataRelation.Nested, System.Data.DataRelationCollection.ObjectID, System.Data.DataRelation.ParentTable, System.Data.ExceptionBuilder.RelationAlreadyInOtherDataSet(), System.Data.ExceptionBuilder.RelationAlreadyInTheDataSet(), and System.Data.DataRelation.ValidateMultipleNestedRelations().

Referenced by System.Data.DataRelationCollection.Add().