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);
 }