private static AssociationType[] IndexCSpaceAssociationTypes( ItemCollection itemCollection) { List <AssociationType> associationTypeList = new List <AssociationType>(); int num = 0; foreach (AssociationType associationType in itemCollection.GetItems <AssociationType>()) { associationTypeList.Add(associationType); associationType.Index = num++; } return(associationTypeList.ToArray()); }
private static AssociationType[] IndexCSpaceAssociationTypes(ItemCollection itemCollection) { Debug.Assert(itemCollection.DataSpace == DataSpace.CSpace); Debug.Assert(itemCollection.IsReadOnly); var associationTypes = new List <AssociationType>(); var count = 0; foreach (var associatonType in itemCollection.GetItems <AssociationType>()) { associationTypes.Add(associatonType); associatonType.Index = count++; } return(associationTypes.ToArray()); }
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); }
private static Dictionary <string, ReadOnlyCollection <EdmFunction> > PopulateFunctionLookUpTable( ItemCollection itemCollection) { Dictionary <string, List <EdmFunction> > dictionary1 = new Dictionary <string, List <EdmFunction> >((IEqualityComparer <string>)StringComparer.OrdinalIgnoreCase); foreach (EdmFunction edmFunction in itemCollection.GetItems <EdmFunction>()) { List <EdmFunction> edmFunctionList; if (!dictionary1.TryGetValue(edmFunction.FullName, out edmFunctionList)) { edmFunctionList = new List <EdmFunction>(); dictionary1[edmFunction.FullName] = edmFunctionList; } edmFunctionList.Add(edmFunction); } Dictionary <string, ReadOnlyCollection <EdmFunction> > dictionary2 = new Dictionary <string, ReadOnlyCollection <EdmFunction> >((IEqualityComparer <string>)StringComparer.OrdinalIgnoreCase); foreach (List <EdmFunction> edmFunctionList in dictionary1.Values) { dictionary2.Add(edmFunctionList[0].FullName, new ReadOnlyCollection <EdmFunction>((IList <EdmFunction>)edmFunctionList.ToArray())); } return(dictionary2); }
private static Dictionary <string, ReadOnlyCollection <EdmFunction> > PopulateFunctionLookUpTable(ItemCollection itemCollection) { var tempFunctionLookUpTable = new Dictionary <string, List <EdmFunction> >(StringComparer.OrdinalIgnoreCase); foreach (var function in itemCollection.GetItems <EdmFunction>()) { List <EdmFunction> functionList; if (!tempFunctionLookUpTable.TryGetValue(function.FullName, out functionList)) { functionList = new List <EdmFunction>(); tempFunctionLookUpTable[function.FullName] = functionList; } functionList.Add(function); } var functionLookUpTable = new Dictionary <string, ReadOnlyCollection <EdmFunction> >(StringComparer.OrdinalIgnoreCase); foreach (var functionList in tempFunctionLookUpTable.Values) { functionLookUpTable.Add(functionList[0].FullName, new ReadOnlyCollection <EdmFunction>(functionList.ToArray())); } return(functionLookUpTable); }
private static object[] MapCSpaceAssociationTypeToSets(ItemCollection itemCollection, int associationTypeCount) { Debug.Assert(itemCollection.DataSpace == DataSpace.CSpace); Debug.Assert(itemCollection.IsReadOnly); var associationTypeToSets = new object[associationTypeCount]; foreach (var entityContainer in itemCollection.GetItems <EntityContainer>()) { foreach (var baseEntitySet in entityContainer.BaseEntitySets) { var associationSet = baseEntitySet as AssociationSet; if (associationSet != null) { var j = associationSet.ElementType.Index; Debug.Assert(j >= 0); AddItemAtIndex(associationTypeToSets, j, associationSet); } } } return(associationTypeToSets); }