コード例 #1
0
 public SqlWith(ISqlWith <TIn> left, SqlWithType type, Expression <Func <TIn, IFromListItemTarget <TSelect> > > select, Expression <Func <TIn, IFromListItemTarget <TSelect>, IFromListItemTarget <TSelect> > > recursive, Expression <Func <TIn, IFromListItemTarget <TSelect>, TRet> > map)
 {
     Left      = left;
     Type      = type;
     Select    = select;
     Recursive = recursive;
     Map       = map;
 }
コード例 #2
0
        /// <summary>
        /// Agrega un SELECT a la cláusula WITH
        /// </summary>
        public static SqlWithFromList <TWith, TOut> Query <TWith, TOut>(this ISqlWith <TWith> with, Expression <Func <TWith, ISqlSelect <TOut> > > select)
        {
            var clauseExpr = SqlWith.SubqueryRawSubs(select.Body, select.Parameters[0]);
            var clause     = (ISqlSelect <TOut>)SqlWith.GetSelectFromExpr(clauseExpr);

            var wi = new WithSelectClause(select.Parameters[0], with);

            return(new SqlWithFromList <TWith, TOut>(wi, clause));
        }
コード例 #3
0
 public WithSelectClause(ParameterExpression param, ISqlWith with)
 {
     Param = param;
     With  = with;
 }