public static Expression ResolveExpression (
        Expression expression,
        IMappingResolver resolver,
        IMappingResolutionStage stage,
        IMappingResolutionContext context,
        UniqueIdentifierGenerator generator)
    {
      ArgumentUtility.CheckNotNull ("expression", expression);
      ArgumentUtility.CheckNotNull ("resolver", resolver);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);
      ArgumentUtility.CheckNotNull ("generator", generator);

      var entityIdentityResolver = new EntityIdentityResolver (stage, resolver, context);
      var comparisonSplitter = new CompoundExpressionComparisonSplitter();
      var namedExpressionCombiner = new NamedExpressionCombiner (context);
      var groupAggregateSimplifier = new GroupAggregateSimplifier (stage, context);

      var visitor1 = new ResolvingExpressionVisitor (
          resolver, stage, context, generator, entityIdentityResolver, comparisonSplitter, namedExpressionCombiner, groupAggregateSimplifier, false);
      var result1 = visitor1.VisitExpression (expression);

      var visitor2 = new ResolvingExpressionVisitor (
          resolver, stage, context, generator, entityIdentityResolver, comparisonSplitter, namedExpressionCombiner, groupAggregateSimplifier, true);
      var result2 = visitor2.VisitExpression (result1);
      return result2;
    }
        protected ResolvingExpressionVisitor(
            IMappingResolver resolver,
            IMappingResolutionStage stage,
            IMappingResolutionContext context,
            UniqueIdentifierGenerator generator,
            IEntityIdentityResolver entityIdentityResolver,
            ICompoundExpressionComparisonSplitter compoundComparisonSplitter,
            INamedExpressionCombiner namedExpressionCombiner,
            IGroupAggregateSimplifier groupAggregateSimplifier,
            bool resolveEntityRefMemberExpressions)
        {
            ArgumentUtility.CheckNotNull("resolver", resolver);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);
            ArgumentUtility.CheckNotNull("generator", generator);
            ArgumentUtility.CheckNotNull("entityIdentityResolver", entityIdentityResolver);
            ArgumentUtility.CheckNotNull("compoundComparisonSplitter", compoundComparisonSplitter);
            ArgumentUtility.CheckNotNull("namedExpressionCombiner", namedExpressionCombiner);
            ArgumentUtility.CheckNotNull("groupAggregateSimplifier", groupAggregateSimplifier);

            _resolver  = resolver;
            _stage     = stage;
            _context   = context;
            _generator = generator;
            _entityIdentityResolver     = entityIdentityResolver;
            _compoundComparisonSplitter = compoundComparisonSplitter;
            _namedExpressionCombiner    = namedExpressionCombiner;
            _groupAggregateSimplifier   = groupAggregateSimplifier;

            _resolveEntityRefMemberExpressions = resolveEntityRefMemberExpressions;
        }
        public static Expression ResolveExpression(
            Expression expression,
            IMappingResolver resolver,
            IMappingResolutionStage stage,
            IMappingResolutionContext context,
            UniqueIdentifierGenerator generator)
        {
            ArgumentUtility.CheckNotNull("expression", expression);
            ArgumentUtility.CheckNotNull("resolver", resolver);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);
            ArgumentUtility.CheckNotNull("generator", generator);

            var entityIdentityResolver   = new EntityIdentityResolver(stage, resolver, context);
            var comparisonSplitter       = new CompoundExpressionComparisonSplitter();
            var namedExpressionCombiner  = new NamedExpressionCombiner(context);
            var groupAggregateSimplifier = new GroupAggregateSimplifier(stage, context);

            var visitor1 = new ResolvingExpressionVisitor(
                resolver, stage, context, generator, entityIdentityResolver, comparisonSplitter, namedExpressionCombiner, groupAggregateSimplifier, false);
            var result1 = visitor1.Visit(expression);

            var visitor2 = new ResolvingExpressionVisitor(
                resolver, stage, context, generator, entityIdentityResolver, comparisonSplitter, namedExpressionCombiner, groupAggregateSimplifier, true);
            var result2 = visitor2.Visit(result1);

            return(result2);
        }
Пример #4
0
 public void SetUp()
 {
     _stageMock                = MockRepository.GenerateStrictMock <IMappingResolutionStage>();
     _resolverMock             = MockRepository.GenerateMock <IMappingResolver>();
     _mappingResolutionContext = new MappingResolutionContext();
     _generator                = new UniqueIdentifierGenerator();
     _groupAggregateSimplifier = MockRepository.GenerateStrictMock <IGroupAggregateSimplifier> ();
 }
        public GroupAggregateSimplifier(IMappingResolutionStage stage, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            _stage   = stage;
            _context = context;
        }
 public void SetUp ()
 {
   _stageMock = MockRepository.GenerateStrictMock<IMappingResolutionStage>();
   _resolverMock = MockRepository.GenerateMock<IMappingResolver>();
   _mappingResolutionContext = new MappingResolutionContext();
   _generator = new UniqueIdentifierGenerator();
   _groupAggregateSimplifier = MockRepository.GenerateStrictMock<IGroupAggregateSimplifier> ();
 }
Пример #7
0
        private SqlContextSelectionAdjuster(IMappingResolutionStage stage, IMappingResolutionContext mappingresolutionContext)
        {
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("mappingresolutionContext", mappingresolutionContext);

            _stage = stage;
            _mappingResolutionContext = mappingresolutionContext;
        }
Пример #8
0
 public void SetUp()
 {
     _resolverMock             = MockRepository.GenerateStrictMock <IMappingResolver>();
     _unresolvedJoinInfo       = SqlStatementModelObjectMother.CreateUnresolvedJoinInfo_KitchenCook();
     _generator                = new UniqueIdentifierGenerator();
     _stageMock                = MockRepository.GenerateStrictMock <IMappingResolutionStage> ();
     _mappingResolutionContext = new MappingResolutionContext();
 }
 public void SetUp ()
 {
   _resolverMock = MockRepository.GenerateStrictMock<IMappingResolver>();
   _unresolvedJoinInfo = SqlStatementModelObjectMother.CreateUnresolvedJoinInfo_KitchenCook();
   _generator = new UniqueIdentifierGenerator();
   _stageMock = MockRepository.GenerateStrictMock<IMappingResolutionStage> ();
   _mappingResolutionContext = new MappingResolutionContext();
 }
    public static IJoinInfo ApplyContext (IJoinInfo joinInfo, SqlExpressionContext expressionContext, IMappingResolutionStage stage, IMappingResolutionContext mappingResolutionContext)
    {
      ArgumentUtility.CheckNotNull ("joinInfo", joinInfo);
      ArgumentUtility.CheckNotNull ("stage", stage);

      var visitor = new SqlContextJoinInfoVisitor (stage, expressionContext, mappingResolutionContext);
      return joinInfo.Accept (visitor);
    }
    public GroupAggregateSimplifier (IMappingResolutionStage stage, IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);

      _stage = stage;
      _context = context;
    }
Пример #12
0
        protected SqlStatementResolver(IMappingResolutionStage stage, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            _stage   = stage;
            _context = context;
        }
    private SqlContextSelectionAdjuster (IMappingResolutionStage stage, IMappingResolutionContext mappingresolutionContext)
    {
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("mappingresolutionContext", mappingresolutionContext);

      _stage = stage;
      _mappingResolutionContext = mappingresolutionContext;
    }
    protected SqlContextTableInfoVisitor (IMappingResolutionStage stage, SqlExpressionContext expressionContext, IMappingResolutionContext mappingResolutionContext)
    {
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("mappingResolutionContext", mappingResolutionContext);

      _stage = stage;
      _expressionContext = expressionContext;
      _mappingResolutionContext = mappingResolutionContext;
    }
    protected SqlContextExpressionVisitor (SqlExpressionContext currentContext, IMappingResolutionStage stage, IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);

      _currentContext = currentContext;
      _stage = stage;
      _context = context;
    }
    public static SqlStatement ApplyContext (SqlStatement sqlStatement, SqlExpressionContext expressionContext, IMappingResolutionStage stage, IMappingResolutionContext mappingresolutionContext)
    {
      ArgumentUtility.CheckNotNull ("sqlStatement", sqlStatement);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("mappingresolutionContext", mappingresolutionContext);

      var visitor = new SqlContextSelectionAdjuster (stage, mappingresolutionContext);
      return visitor.VisitSqlStatement (sqlStatement, expressionContext);
    }
        protected SqlContextExpressionVisitor(SqlExpressionContext currentContext, IMappingResolutionStage stage, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            _currentContext = currentContext;
            _stage          = stage;
            _context        = context;
        }
Пример #18
0
        protected SqlContextTableInfoVisitor(IMappingResolutionStage stage, SqlExpressionContext expressionContext, IMappingResolutionContext mappingResolutionContext)
        {
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("mappingResolutionContext", mappingResolutionContext);

            _stage                    = stage;
            _expressionContext        = expressionContext;
            _mappingResolutionContext = mappingResolutionContext;
        }
 public void SetUp ()
 {
   _stageMock = MockRepository.GenerateMock<IMappingResolutionStage>();
   _resolverMock = MockRepository.GenerateMock<IMappingResolver>();
   _unresolvedTableInfo = SqlStatementModelObjectMother.CreateUnresolvedTableInfo (typeof (Cook));
   _resolvedTableInfo = SqlStatementModelObjectMother.CreateResolvedTableInfo (typeof (Cook));
   _generator = new UniqueIdentifierGenerator();
   _sqlStatement = SqlStatementModelObjectMother.CreateSqlStatement_Resolved (typeof (Cook));
   _mappingResolutionContext = new MappingResolutionContext();
 }
 public void SetUp()
 {
     _stageMock                = MockRepository.GenerateMock <IMappingResolutionStage>();
     _resolverMock             = MockRepository.GenerateMock <IMappingResolver>();
     _unresolvedTableInfo      = SqlStatementModelObjectMother.CreateUnresolvedTableInfo(typeof(Cook));
     _resolvedTableInfo        = SqlStatementModelObjectMother.CreateResolvedTableInfo(typeof(Cook));
     _generator                = new UniqueIdentifierGenerator();
     _sqlStatement             = SqlStatementModelObjectMother.CreateSqlStatement_Resolved(typeof(Cook));
     _mappingResolutionContext = new MappingResolutionContext();
 }
Пример #21
0
        public static SqlStatement ResolveExpressions(IMappingResolutionStage stage, SqlStatement statement, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("statement", statement);
            ArgumentUtility.CheckNotNull("context", context);

            var resolver = new SqlStatementResolver(stage, context);

            return(resolver.ResolveSqlStatement(statement));
        }
Пример #22
0
        public void SetUp()
        {
            _preparationStageMock = MockRepository.GenerateStrictMock <ISqlPreparationStage> ();
            _resolutionStageMock  = MockRepository.GenerateStrictMock <IMappingResolutionStage> ();
            _generationStageMock  = MockRepository.GenerateStrictMock <ISqlGenerationStage> ();

            _sqlQueryGenerator = new SqlQueryGenerator(_preparationStageMock, _resolutionStageMock, _generationStageMock);

            _queryModel = QueryModelObjectMother.Create();
        }
    public static IResolvedTableInfo ResolveTableInfo (ITableInfo tableInfo, IMappingResolver resolver, UniqueIdentifierGenerator generator, IMappingResolutionStage stage, IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("tableInfo", tableInfo);
      ArgumentUtility.CheckNotNull ("resolver", resolver);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);

      var visitor = new ResolvingTableInfoVisitor (resolver, generator, stage, context);
      return (IResolvedTableInfo) tableInfo.Accept (visitor);
    }
        public SqlQueryGenerator(ISqlPreparationStage preparationStage, IMappingResolutionStage resolutionStage, ISqlGenerationStage generationStage)
        {
            ArgumentUtility.CheckNotNull("preparationStage", preparationStage);
            ArgumentUtility.CheckNotNull("resolutionStage", resolutionStage);
            ArgumentUtility.CheckNotNull("generationStage", generationStage);

            _preparationStage = preparationStage;
            _resolutionStage  = resolutionStage;
            _generationStage  = generationStage;
        }
    public static Expression ApplySqlExpressionContext (
        Expression expression, SqlExpressionContext initialSemantics, IMappingResolutionStage stage, IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("expression", expression);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);

      var visitor = new SqlContextExpressionVisitor (initialSemantics, stage, context);
      return visitor.VisitExpression (expression);
    }
Пример #26
0
        public void SetUp()
        {
            _stageMock = MockRepository.GenerateStrictMock <IMappingResolutionStage>();
            _mappingResolutionContext = new MappingResolutionContext();

            _visitor = new TestableSqlStatementResolver(_stageMock, _mappingResolutionContext);

            _unresolvedTableInfo         = SqlStatementModelObjectMother.CreateUnresolvedTableInfo(typeof(Cook));
            _sqlTable                    = SqlStatementModelObjectMother.CreateSqlTable(_unresolvedTableInfo);
            _fakeResolvedSimpleTableInfo = SqlStatementModelObjectMother.CreateResolvedTableInfo(typeof(Cook));
        }
        public static Expression ApplySqlExpressionContext(
            Expression expression, SqlExpressionContext initialSemantics, IMappingResolutionStage stage, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("expression", expression);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            var visitor = new SqlContextExpressionVisitor(initialSemantics, stage, context);

            return(visitor.Visit(expression));
        }
    public void SetUp ()
    {
      _stageMock = MockRepository.GenerateStrictMock<IMappingResolutionStage>();
      _mappingResolutionContext = new MappingResolutionContext();

      _visitor = new TestableSqlStatementResolver (_stageMock, _mappingResolutionContext);

      _unresolvedTableInfo = SqlStatementModelObjectMother.CreateUnresolvedTableInfo (typeof (Cook));
      _sqlTable = SqlStatementModelObjectMother.CreateSqlTable (_unresolvedTableInfo);
      _fakeResolvedSimpleTableInfo = SqlStatementModelObjectMother.CreateResolvedTableInfo (typeof (Cook));
    }
 public void SetUp ()
 {
   _stageMock = MockRepository.GenerateStrictMock<IMappingResolutionStage>();
   _mappingResolutionContext = new MappingResolutionContext();
   _valueRequiredVisitor = new TestableSqlContextExpressionVisitor (SqlExpressionContext.ValueRequired, _stageMock, _mappingResolutionContext);
   _singleValueRequiredVisitor = new TestableSqlContextExpressionVisitor (
       SqlExpressionContext.SingleValueRequired,
       _stageMock,
       _mappingResolutionContext);
   _predicateRequiredVisitor = new TestableSqlContextExpressionVisitor (
       SqlExpressionContext.PredicateRequired, _stageMock, _mappingResolutionContext);
 }
        protected ResolvingTableInfoVisitor(IMappingResolver resolver, UniqueIdentifierGenerator generator, IMappingResolutionStage stage, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("generator", generator);
            ArgumentUtility.CheckNotNull("resolver", resolver);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            _resolver  = resolver;
            _generator = generator;
            _stage     = stage;
            _context   = context;
        }
    protected ResolvingTableInfoVisitor (IMappingResolver resolver, UniqueIdentifierGenerator generator, IMappingResolutionStage stage, IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("generator", generator);
      ArgumentUtility.CheckNotNull ("resolver", resolver);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);

      _resolver = resolver;
      _generator = generator;
      _stage= stage;
      _context = context;
    }
Пример #32
0
        protected MemberAccessResolver(
            MemberInfo memberInfo, IMappingResolver mappingResolver, IMappingResolutionStage stage, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("memberInfo", memberInfo);
            ArgumentUtility.CheckNotNull("mappingResolver", mappingResolver);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            _memberInfo      = memberInfo;
            _mappingResolver = mappingResolver;
            _stage           = stage;
            _context         = context;
        }
    public void SetUp ()
    {
      _stageMock = MockRepository.GenerateStrictMock<IMappingResolutionStage>();
      _resolverMock = MockRepository.GenerateStrictMock<IMappingResolver>();
      _context = new MappingResolutionContext();

      _entityIdentityResolver = new EntityIdentityResolver (_stageMock, _resolverMock, _context);

      _entityExpression = SqlStatementModelObjectMother.CreateSqlEntityDefinitionExpression (typeof (Cook), primaryKeyType: typeof (int));
      _entityConstantExpression = new SqlEntityConstantExpression (typeof (Cook), new Cook (), Expression.Constant (0));
      _entityRefMemberExpression = new SqlEntityRefMemberExpression (
          SqlStatementModelObjectMother.CreateSqlEntityDefinitionExpression (typeof (Kitchen)),
          typeof (Kitchen).GetProperty ("Cook"));
    }
        public void SetUp()
        {
            _stageMock                      = MockRepository.GenerateStrictMock <IMappingResolutionStage>();
            _resolverMock                   = MockRepository.GenerateStrictMock <IMappingResolver>();
            _sqlTable                       = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(typeof(Cook));
            _mappingResolutionContext       = new MappingResolutionContext();
            _generator                      = new UniqueIdentifierGenerator();
            _entityIdentityResolverMock     = MockRepository.GenerateStrictMock <IEntityIdentityResolver> ();
            _compoundComparisonSplitterMock = MockRepository.GenerateStrictMock <ICompoundExpressionComparisonSplitter> ();
            _namedExpressionCombinerMock    = MockRepository.GenerateStrictMock <INamedExpressionCombiner>();
            _groupAggregateSimplifierMock   = MockRepository.GenerateStrictMock <IGroupAggregateSimplifier>();

            _visitor = CreateVisitor(true);
        }
        public void SetUp()
        {
            _stageMock    = MockRepository.GenerateStrictMock <IMappingResolutionStage>();
            _resolverMock = MockRepository.GenerateStrictMock <IMappingResolver>();
            _context      = new MappingResolutionContext();

            _entityIdentityResolver = new EntityIdentityResolver(_stageMock, _resolverMock, _context);

            _entityExpression          = SqlStatementModelObjectMother.CreateSqlEntityDefinitionExpression(typeof(Cook), primaryKeyType: typeof(int));
            _entityConstantExpression  = new SqlEntityConstantExpression(typeof(Cook), new Cook(), Expression.Constant(0));
            _entityRefMemberExpression = new SqlEntityRefMemberExpression(
                SqlStatementModelObjectMother.CreateSqlEntityDefinitionExpression(typeof(Kitchen)),
                typeof(Kitchen).GetProperty("Cook"));
        }
    public void SetUp ()
    {
      _stageMock = MockRepository.GenerateStrictMock<IMappingResolutionStage>();
      _resolverMock = MockRepository.GenerateStrictMock<IMappingResolver>();
      _sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo (typeof (Cook));
      _mappingResolutionContext = new MappingResolutionContext();
      _generator = new UniqueIdentifierGenerator();
      _entityIdentityResolverMock = MockRepository.GenerateStrictMock<IEntityIdentityResolver> ();
      _compoundComparisonSplitterMock = MockRepository.GenerateStrictMock<ICompoundExpressionComparisonSplitter> ();
      _namedExpressionCombinerMock = MockRepository.GenerateStrictMock<INamedExpressionCombiner>();
      _groupAggregateSimplifierMock = MockRepository.GenerateStrictMock<IGroupAggregateSimplifier>();

      _visitor = CreateVisitor (true);
    }
    public static ResolvedJoinInfo ResolveJoinInfo (
        IJoinInfo joinInfo,
        IMappingResolver resolver,
        UniqueIdentifierGenerator generator,
        IMappingResolutionStage stage,
        IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("joinInfo", joinInfo);
      ArgumentUtility.CheckNotNull ("resolver", resolver);
      ArgumentUtility.CheckNotNull ("generator", generator);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);

      var visitor = new ResolvingJoinInfoVisitor (resolver, generator, stage, context);
      return (ResolvedJoinInfo) joinInfo.Accept (visitor);
    }
Пример #38
0
        public static Expression ResolveMemberAccess(
            Expression resolvedSourceExpression,
            MemberInfo memberInfo,
            IMappingResolver mappingResolver,
            IMappingResolutionStage mappingResolutionStage,
            IMappingResolutionContext mappingResolutionContext)
        {
            ArgumentUtility.CheckNotNull("resolvedSourceExpression", resolvedSourceExpression);
            ArgumentUtility.CheckNotNull("memberInfo", memberInfo);
            ArgumentUtility.CheckNotNull("mappingResolver", mappingResolver);
            ArgumentUtility.CheckNotNull("mappingResolutionStage", mappingResolutionStage);
            ArgumentUtility.CheckNotNull("mappingResolutionContext", mappingResolutionContext);

            var resolver = new MemberAccessResolver(memberInfo, mappingResolver, mappingResolutionStage, mappingResolutionContext);

            return(resolver.Visit(resolvedSourceExpression));
        }
Пример #39
0
        public static ResolvedJoinInfo ResolveJoinInfo(
            IJoinInfo joinInfo,
            IMappingResolver resolver,
            UniqueIdentifierGenerator generator,
            IMappingResolutionStage stage,
            IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("joinInfo", joinInfo);
            ArgumentUtility.CheckNotNull("resolver", resolver);
            ArgumentUtility.CheckNotNull("generator", generator);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            var visitor = new ResolvingJoinInfoVisitor(resolver, generator, stage, context);

            return((ResolvedJoinInfo)joinInfo.Accept(visitor));
        }
Пример #40
0
        public void SetUp()
        {
            _dataInfo = new StreamedScalarValueInfo(typeof(int));

            _resolvedElementExpressionReference = new SqlColumnDefinitionExpression(typeof(string), "q0", "element", false);
            _resolvedSelectProjection           = new NamedExpression(
                null,
                new AggregationExpression(typeof(int), _resolvedElementExpressionReference, AggregationModifier.Min));

            _associatedGroupingSelectExpression = new SqlGroupingSelectExpression(
                new NamedExpression("key", Expression.Constant("k")),
                new NamedExpression("element", Expression.Constant("e")));

            _resolvedJoinedGroupingSubStatement = SqlStatementModelObjectMother.CreateSqlStatement(_associatedGroupingSelectExpression);
            _resolvedJoinedGroupingTable        = new SqlTable(
                new ResolvedJoinedGroupingTableInfo(
                    "q1",
                    _resolvedJoinedGroupingSubStatement,
                    _associatedGroupingSelectExpression,
                    "q0"), JoinSemantics.Inner);

            _simplifiableResolvedSqlStatement = new SqlStatement(
                _dataInfo,
                _resolvedSelectProjection,
                new[] { _resolvedJoinedGroupingTable },
                null,
                null,
                new Ordering[0],
                null,
                false,
                Expression.Constant(0),
                Expression.Constant(0));
            _simplifiableUnresolvedProjection = new AggregationExpression(
                typeof(int),
                new SqlTableReferenceExpression(_resolvedJoinedGroupingTable),
                AggregationModifier.Count);

            _stageMock = MockRepository.GenerateStrictMock <IMappingResolutionStage> ();
            _context   = new MappingResolutionContext();

            _groupAggregateSimplifier = new GroupAggregateSimplifier(_stageMock, _context);
        }
Пример #41
0
 protected ResolvingSelectExpressionVisitor(
     IMappingResolver resolver,
     IMappingResolutionStage stage,
     IMappingResolutionContext context,
     UniqueIdentifierGenerator generator,
     IEntityIdentityResolver entityIdentityResolver,
     ICompoundExpressionComparisonSplitter comparisonSplitter,
     INamedExpressionCombiner namedExpressionCombiner,
     IGroupAggregateSimplifier groupAggregateSimplifier,
     bool resolveEntityRefMemberExpressions,
     SqlStatementBuilder sqlStatementBuilder)
     : base(
         resolver,
         stage,
         context,
         generator,
         entityIdentityResolver,
         comparisonSplitter,
         namedExpressionCombiner,
         groupAggregateSimplifier,
         resolveEntityRefMemberExpressions)
 {
     _sqlStatementBuilder = sqlStatementBuilder;
 }
 protected ResolvingSelectExpressionVisitor (
     IMappingResolver resolver,
     IMappingResolutionStage stage,
     IMappingResolutionContext context,
     UniqueIdentifierGenerator generator, 
     IEntityIdentityResolver entityIdentityResolver,
     ICompoundExpressionComparisonSplitter comparisonSplitter,
     INamedExpressionCombiner namedExpressionCombiner,
     IGroupAggregateSimplifier groupAggregateSimplifier,
     bool resolveEntityRefMemberExpressions,
     SqlStatementBuilder sqlStatementBuilder)
     : base (
         resolver,
         stage,
         context,
         generator,
         entityIdentityResolver,
         comparisonSplitter,
         namedExpressionCombiner,
         groupAggregateSimplifier,
         resolveEntityRefMemberExpressions)
 {
   _sqlStatementBuilder = sqlStatementBuilder;
 }
Пример #43
0
 public TestableSqlContextExpressionVisitor(SqlExpressionContext currentContext, IMappingResolutionStage stage, IMappingResolutionContext context)
     : base(currentContext, stage, context)
 {
 }
 public TestableSqlStatementResolver (IMappingResolutionStage stage, IMappingResolutionContext context)
     : base (stage, context)
 {
 }
 public void SetUp ()
 {
   _stageMock = MockRepository.GenerateMock<IMappingResolutionStage>();
   _mappingResolutionContext = new MappingResolutionContext();
 }
Пример #46
0
        public static SqlStatement ApplyContext(SqlStatement sqlStatement, SqlExpressionContext expressionContext, IMappingResolutionStage stage, IMappingResolutionContext mappingresolutionContext)
        {
            ArgumentUtility.CheckNotNull("sqlStatement", sqlStatement);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("mappingresolutionContext", mappingresolutionContext);

            var visitor = new SqlContextSelectionAdjuster(stage, mappingresolutionContext);

            return(visitor.VisitSqlStatement(sqlStatement, expressionContext));
        }
    public void SetUp ()
    {
      _dataInfo = new StreamedScalarValueInfo (typeof (int));

      _resolvedElementExpressionReference = new SqlColumnDefinitionExpression (typeof (string), "q0", "element", false);
      _resolvedSelectProjection = new NamedExpression (
          null, 
          new AggregationExpression (typeof (int), _resolvedElementExpressionReference, AggregationModifier.Min));

      _associatedGroupingSelectExpression = new SqlGroupingSelectExpression (
          new NamedExpression ("key", Expression.Constant ("k")),
          new NamedExpression ("element", Expression.Constant ("e")));

      _resolvedJoinedGroupingSubStatement = SqlStatementModelObjectMother.CreateSqlStatement (_associatedGroupingSelectExpression);
      _resolvedJoinedGroupingTable = new SqlTable (
          new ResolvedJoinedGroupingTableInfo (
              "q1",
              _resolvedJoinedGroupingSubStatement,
              _associatedGroupingSelectExpression,
              "q0"), JoinSemantics.Inner);

      _simplifiableResolvedSqlStatement = new SqlStatement (
          _dataInfo,
          _resolvedSelectProjection,
          new[] { _resolvedJoinedGroupingTable },
          null,
          null,
          new Ordering[0],
          null,
          false,
          Expression.Constant (0),
          Expression.Constant (0));
      _simplifiableUnresolvedProjection = new AggregationExpression (
          typeof (int),
          new SqlTableReferenceExpression (_resolvedJoinedGroupingTable),
          AggregationModifier.Count);

      _stageMock = MockRepository.GenerateStrictMock<IMappingResolutionStage> ();
      _context = new MappingResolutionContext();

      _groupAggregateSimplifier = new GroupAggregateSimplifier (_stageMock, _context);
    }
 public TestableSqlStatementResolver(IMappingResolutionStage stage, IMappingResolutionContext context)
     : base(stage, context)
 {
 }
        public static IResolvedTableInfo ResolveTableInfo(ITableInfo tableInfo, IMappingResolver resolver, UniqueIdentifierGenerator generator, IMappingResolutionStage stage, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("tableInfo", tableInfo);
            ArgumentUtility.CheckNotNull("resolver", resolver);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("context", context);

            var visitor = new ResolvingTableInfoVisitor(resolver, generator, stage, context);

            return((IResolvedTableInfo)tableInfo.Accept(visitor));
        }
Пример #50
0
        public static ITableInfo ApplyContext(ITableInfo tableInfo, SqlExpressionContext expressionContext, IMappingResolutionStage stage, IMappingResolutionContext mappingResolutionContext)
        {
            ArgumentUtility.CheckNotNull("tableInfo", tableInfo);
            ArgumentUtility.CheckNotNull("stage", stage);
            ArgumentUtility.CheckNotNull("mappingResolutionContext", mappingResolutionContext);

            var visitor = new SqlContextTableInfoVisitor(stage, expressionContext, mappingResolutionContext);

            return(tableInfo.Accept(visitor));
        }
Пример #51
0
 public EntityIdentityResolver(IMappingResolutionStage stage, IMappingResolver resolver, IMappingResolutionContext context)
 {
     _stage    = stage;
     _resolver = resolver;
     _context  = context;
 }
 public TestableSqlContextExpressionVisitor (SqlExpressionContext currentContext, IMappingResolutionStage stage, IMappingResolutionContext context)
     : base (currentContext, stage, context)
 {
 }
    protected ResolvingExpressionVisitor (
        IMappingResolver resolver,
        IMappingResolutionStage stage,
        IMappingResolutionContext context,
        UniqueIdentifierGenerator generator,
        IEntityIdentityResolver entityIdentityResolver,
        ICompoundExpressionComparisonSplitter compoundComparisonSplitter,
        INamedExpressionCombiner namedExpressionCombiner,
        IGroupAggregateSimplifier groupAggregateSimplifier,
        bool resolveEntityRefMemberExpressions)
    {
      ArgumentUtility.CheckNotNull ("resolver", resolver);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("context", context);
      ArgumentUtility.CheckNotNull ("generator", generator);
      ArgumentUtility.CheckNotNull ("entityIdentityResolver", entityIdentityResolver);
      ArgumentUtility.CheckNotNull ("compoundComparisonSplitter", compoundComparisonSplitter);
      ArgumentUtility.CheckNotNull ("namedExpressionCombiner", namedExpressionCombiner);
      ArgumentUtility.CheckNotNull ("groupAggregateSimplifier", groupAggregateSimplifier);
      
      _resolver = resolver;
      _stage = stage;
      _context = context;
      _generator = generator;
      _entityIdentityResolver = entityIdentityResolver;
      _compoundComparisonSplitter = compoundComparisonSplitter;
      _namedExpressionCombiner = namedExpressionCombiner;
      _groupAggregateSimplifier = groupAggregateSimplifier;

      _resolveEntityRefMemberExpressions = resolveEntityRefMemberExpressions;
    }
 public EntityIdentityResolver (IMappingResolutionStage stage, IMappingResolver resolver, IMappingResolutionContext context)
 {
   _stage = stage;
   _resolver = resolver;
   _context = context;
 }
Пример #55
0
 public void SetUp()
 {
     _stageMock                = MockRepository.GenerateStrictMock <IMappingResolutionStage> ();
     _resolverMock             = MockRepository.GenerateMock <IMappingResolver> ();
     _mappingResolutionContext = new MappingResolutionContext();
 }