public void AddDataTableRelation(DataTableRelation relation) { if (relation == null) { throw new ArgumentNullException("relation"); } if (!this.backendDataTableRelations.Contains(relation)) { if (relation.DataTableLoaderSet != null && relation.DataTableLoaderSet != this) { throw new InvalidOperationException(string.Format("the relation '{0}' has been added into anoter DataTableLoaderSet.", relation.RelationName)); } this.backendDataTableRelations.Add(relation); relation.DataTableLoaderSet = this; } }
public DataTableLoader GetRefreshableSource(string dataMember) { DataTableLoader dataTableLoader = this.GetDataTableLoader(dataMember); if (dataTableLoader == null) { DataTableRelation dataTableRelation = this.GetDataTableRelation(dataMember); if (dataTableRelation != null) { if (dataTableRelation.ParentDataTableLoaderConfiguration.DataTableLoader == null) { this.CreateDataTableLoader(dataTableRelation.ParentDataTableLoaderConfiguration); } if (dataTableRelation.ChildDataTableLoaderConfiguration.DataTableLoader == null) { this.CreateDataTableLoader(dataTableRelation.ChildDataTableLoaderConfiguration); } dataTableLoader = dataTableRelation.ChildDataTableLoaderConfiguration.DataTableLoader; } } return(dataTableLoader); }