Ejemplo n.º 1
0
        public virtual IJoinInfo ApplyContext(IJoinInfo joinInfo, SqlExpressionContext expressionContext, IMappingResolutionContext mappingResolutionContext)
        {
            ArgumentUtility.CheckNotNull("joinInfo", joinInfo);
            ArgumentUtility.CheckNotNull("mappingResolutionContext", mappingResolutionContext);

            return(SqlContextJoinInfoVisitor.ApplyContext(joinInfo, expressionContext, this, mappingResolutionContext));
        }
Ejemplo n.º 2
0
        public SqlJoinedTable(IJoinInfo joinInfo, JoinSemantics joinSemantics)
            : base(joinInfo.ItemType, joinSemantics)
        {
            ArgumentUtility.CheckNotNull("joinInfo", joinInfo);
            ArgumentUtility.CheckNotNull("joinSemantics", joinSemantics);

            _joinInfo = joinInfo;
        }
    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);
    }
Ejemplo n.º 4
0
    public SqlJoinedTable (IJoinInfo joinInfo, JoinSemantics joinSemantics)
        : base (joinInfo.ItemType, joinSemantics)
    {
      ArgumentUtility.CheckNotNull ("joinInfo", joinInfo);
      ArgumentUtility.CheckNotNull ("joinSemantics", joinSemantics);

      _joinInfo = joinInfo;
    }
Ejemplo n.º 5
0
    public SqlJoinedTable GetOrAddLeftJoin (IJoinInfo joinInfo, MemberInfo memberInfo)
    {
      ArgumentUtility.CheckNotNull ("joinInfo", joinInfo);

      if (!_joinedTables.ContainsKey (memberInfo))
        _joinedTables.Add (memberInfo, new SqlJoinedTable (joinInfo, JoinSemantics.Left));

      return _joinedTables[memberInfo];
    }
Ejemplo n.º 6
0
        public virtual ResolvedJoinInfo ResolveJoinInfo(IJoinInfo joinInfo, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("joinInfo", joinInfo);
            ArgumentUtility.CheckNotNull("context", context);

            var resolvedJoinInfo = ResolvingJoinInfoVisitor.ResolveJoinInfo(joinInfo, _resolver, _uniqueIdentifierGenerator, this, context);

            return((ResolvedJoinInfo)ApplyContext(resolvedJoinInfo, SqlExpressionContext.ValueRequired, context));
        }
        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));
        }
Ejemplo n.º 8
0
        public SqlJoinedTable GetOrAddLeftJoin(IJoinInfo joinInfo, MemberInfo memberInfo)
        {
            ArgumentUtility.CheckNotNull("joinInfo", joinInfo);

            if (!_joinedTables.ContainsKey(memberInfo))
            {
                _joinedTables.Add(memberInfo, new SqlJoinedTable(joinInfo, JoinSemantics.Left));
            }

            return(_joinedTables[memberInfo]);
        }
    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);
    }
Ejemplo n.º 10
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));
        }
Ejemplo n.º 11
0
        public virtual SqlEntityExpression ResolveEntityRefMemberExpression(SqlEntityRefMemberExpression expression, IJoinInfo joinInfo, IMappingResolutionContext context)
        {
            ArgumentUtility.CheckNotNull("expression", expression);
            ArgumentUtility.CheckNotNull("joinInfo", joinInfo);
            ArgumentUtility.CheckNotNull("context", context);

            var originatingSqlTable = context.GetSqlTableForEntityExpression(expression.OriginatingEntity);
            var join = originatingSqlTable.GetOrAddLeftJoin(joinInfo, expression.MemberInfo);

            join.JoinInfo = ResolveJoinInfo(join.JoinInfo, context);
            var sqlTableReferenceExpression = new SqlTableReferenceExpression(join);

            return((SqlEntityExpression)ResolveExpression(sqlTableReferenceExpression, context));
        }
    public virtual IJoinInfo ApplyContext (IJoinInfo joinInfo, SqlExpressionContext expressionContext, IMappingResolutionContext mappingResolutionContext)
    {
      ArgumentUtility.CheckNotNull ("joinInfo", joinInfo);
      ArgumentUtility.CheckNotNull ("mappingResolutionContext", mappingResolutionContext);

      return SqlContextJoinInfoVisitor.ApplyContext (joinInfo, expressionContext, this, mappingResolutionContext);
    }
    public virtual SqlEntityExpression ResolveEntityRefMemberExpression (SqlEntityRefMemberExpression expression, IJoinInfo joinInfo, IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("expression", expression);
      ArgumentUtility.CheckNotNull ("joinInfo", joinInfo);
      ArgumentUtility.CheckNotNull ("context", context);

      var originatingSqlTable = context.GetSqlTableForEntityExpression (expression.OriginatingEntity);
      var join = originatingSqlTable.GetOrAddLeftJoin (joinInfo, expression.MemberInfo);
      join.JoinInfo = ResolveJoinInfo (join.JoinInfo, context);
      var sqlTableReferenceExpression = new SqlTableReferenceExpression (join);
      
      return (SqlEntityExpression) ResolveExpression (sqlTableReferenceExpression, context);
    }
    public virtual ResolvedJoinInfo ResolveJoinInfo (IJoinInfo joinInfo, IMappingResolutionContext context)
    {
      ArgumentUtility.CheckNotNull ("joinInfo", joinInfo);
      ArgumentUtility.CheckNotNull ("context", context);

      var resolvedJoinInfo = ResolvingJoinInfoVisitor.ResolveJoinInfo (joinInfo, _resolver, _uniqueIdentifierGenerator, this, context);
      return (ResolvedJoinInfo) ApplyContext (resolvedJoinInfo, SqlExpressionContext.ValueRequired, context);
    }