protected virtual void RemoveCore(DataRelation relation)
{
DataCommonEventSource.Log.Trace("<ds.DataRelationCollection.RemoveCore|INFO> {0}, relation={1}", ObjectID, (relation != null) ? relation.ObjectID : 0);
if (relation == null)
{
throw ExceptionBuilder.ArgumentNull(nameof(relation));
}
DataSet dataSet = GetDataSet();
if (relation.DataSet != dataSet)
{
throw ExceptionBuilder.RelationNotInTheDataSet(relation.RelationName);
}
if (relation.Nested)
{
relation.ParentTable.ElementColumnCount--;
relation.ParentTable.Columns.UnregisterName(relation.ChildTable.TableName);
}
}