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; } }
internal EntitySet GetEntitySet(EntityTypeBase type) { EntitySet entitySet; if (!this.m_entityTypeToEntitySetMap.TryGetValue(StructuredTypeInfo.GetRootType(type), out entitySet)) { return((EntitySet)null); } return(entitySet); }
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; }
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)); }