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);
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }