internal object[] GetCSpaceAssociationTypeToSetsMap() { if (this._csAssociationTypeToSets == null) { this._csAssociationTypeToSets = MetadataOptimization.MapCSpaceAssociationTypeToSets(this._workspace.GetItemCollection(DataSpace.CSpace), this.GetCSpaceAssociationTypes().Length); } return(this._csAssociationTypeToSets); }
internal AssociationType[] GetCSpaceAssociationTypes() { if (this._csAssociationTypes == null) { this._csAssociationTypes = MetadataOptimization.IndexCSpaceAssociationTypes(this._workspace.GetItemCollection(DataSpace.CSpace)); } return(this._csAssociationTypes); }
private static object[] MapCSpaceAssociationTypeToSets( ItemCollection itemCollection, int associationTypeCount) { object[] array = new object[associationTypeCount]; foreach (EntityContainer entityContainer in itemCollection.GetItems <EntityContainer>()) { foreach (EntitySetBase baseEntitySet in entityContainer.BaseEntitySets) { AssociationSet newItem = baseEntitySet as AssociationSet; if (newItem != null) { int index = newItem.ElementType.Index; MetadataOptimization.AddItemAtIndex <AssociationSet>(array, index, newItem); } } } return(array); }