Пример #1
0
 /// <summary>
 /// Process Driver
 /// </summary>
 /// <param name="itree"></param>
 /// <param name="referencedTypes">structured types referenced in the query</param>
 /// <param name="referencedEntitySets">entitysets referenced in the query</param>
 /// <param name="freeFloatingEntityConstructorTypes">entity types that have "free-floating" entity constructors</param>
 /// <param name="discriminatorMaps">information on optimized discriminator patterns for entity sets</param>
 /// <param name="relPropertyHelper">helper for rel properties</param>
 /// <param name="typesNeedingNullSentinel">which types need a null sentinel</param>
 /// <param name="structuredTypeInfo"></param>
 internal static void Process(Command itree,
                              HashSet <md.TypeUsage> referencedTypes,
                              HashSet <md.EntitySet> referencedEntitySets,
                              HashSet <md.EntityType> freeFloatingEntityConstructorTypes,
                              Dictionary <md.EntitySetBase, DiscriminatorMapInfo> discriminatorMaps,
                              RelPropertyHelper relPropertyHelper,
                              HashSet <string> typesNeedingNullSentinel,
                              out StructuredTypeInfo structuredTypeInfo)
 {
     structuredTypeInfo = new StructuredTypeInfo(typesNeedingNullSentinel);
     structuredTypeInfo.Process(itree, referencedTypes, referencedEntitySets, freeFloatingEntityConstructorTypes, discriminatorMaps, relPropertyHelper);
 }
Пример #2
0
 private void Process(
     Command itree,
     HashSet <TypeUsage> referencedTypes,
     HashSet <EntitySet> referencedEntitySets,
     HashSet <EntityType> freeFloatingEntityConstructorTypes,
     Dictionary <EntitySetBase, DiscriminatorMapInfo> discriminatorMaps,
     RelPropertyHelper relPropertyHelper)
 {
     System.Data.Entity.Core.Query.PlanCompiler.PlanCompiler.Assert(null != itree, "null itree?");
     this.m_stringType        = itree.StringType;
     this.m_intType           = itree.IntegerType;
     this.m_relPropertyHelper = relPropertyHelper;
     this.ProcessEntitySets(referencedEntitySets, freeFloatingEntityConstructorTypes);
     this.ProcessDiscriminatorMaps(discriminatorMaps);
     this.ProcessTypes(referencedTypes);
 }