Exemple #1
0
        private void AddEntityTypeToSetEntry(EntityType entityType, EntitySet entitySet)
        {
            EntityTypeBase rootType = StructuredTypeInfo.GetRootType((EntityTypeBase)entityType);
            bool           flag     = true;

            if (entitySet == null)
            {
                flag = false;
            }
            else
            {
                EntitySet entitySet1;
                if (this.m_entityTypeToEntitySetMap.TryGetValue(rootType, out entitySet1) && entitySet1 != entitySet)
                {
                    flag = false;
                }
            }
            if (flag)
            {
                this.m_entityTypeToEntitySetMap[rootType] = entitySet;
            }
            else
            {
                this.m_entityTypeToEntitySetMap[rootType] = (EntitySet)null;
            }
        }
Exemple #2
0
        internal EntitySet GetEntitySet(EntityTypeBase type)
        {
            EntitySet entitySet;

            if (!this.m_entityTypeToEntitySetMap.TryGetValue(StructuredTypeInfo.GetRootType(type), out entitySet))
            {
                return((EntitySet)null);
            }
            return(entitySet);
        }
Exemple #3
0
        private void ProcessDiscriminatorMaps(
            Dictionary <EntitySetBase, DiscriminatorMapInfo> discriminatorMaps)
        {
            Dictionary <EntitySetBase, ExplicitDiscriminatorMap> dictionary = (Dictionary <EntitySetBase, ExplicitDiscriminatorMap>)null;

            if (discriminatorMaps != null)
            {
                dictionary = new Dictionary <EntitySetBase, ExplicitDiscriminatorMap>(discriminatorMaps.Count, discriminatorMaps.Comparer);
                foreach (KeyValuePair <EntitySetBase, DiscriminatorMapInfo> discriminatorMap1 in discriminatorMaps)
                {
                    EntitySetBase            key = discriminatorMap1.Key;
                    ExplicitDiscriminatorMap discriminatorMap2 = discriminatorMap1.Value.DiscriminatorMap;
                    if (discriminatorMap2 != null && this.GetEntitySet(StructuredTypeInfo.GetRootType(key.ElementType)) != null)
                    {
                        dictionary.Add(key, discriminatorMap2);
                    }
                }
                if (dictionary.Count == 0)
                {
                    dictionary = (Dictionary <EntitySetBase, ExplicitDiscriminatorMap>)null;
                }
            }
            this.m_discriminatorMaps = dictionary;
        }
Exemple #4
0
        private bool TryGetDiscriminatorMap(EdmType type, out ExplicitDiscriminatorMap discriminatorMap)
        {
            discriminatorMap = (ExplicitDiscriminatorMap)null;
            EntitySet entitySet;

            if (this.m_discriminatorMaps == null || type.BuiltInTypeKind != BuiltInTypeKind.EntityType || (!this.m_entityTypeToEntitySetMap.TryGetValue(StructuredTypeInfo.GetRootType((EntityTypeBase)type), out entitySet) || entitySet == null))
            {
                return(false);
            }
            return(this.m_discriminatorMaps.TryGetValue((EntitySetBase)entitySet, out discriminatorMap));
        }