Example #1
0
 public override void VisitAdditionalFromClause(Remotion.Linq.Clauses.AdditionalFromClause fromClause, QueryModel queryModel, int index)
 {
     _queryAsString.AppendFormat(" from {0} {1} in {2}",
                                 fromClause.ItemType.Name,
                                 fromClause.ItemName,
                                 ExpressionStringConverter.Format(fromClause.FromExpression));
 }
Example #2
0
        public override void VisitResultOperator(Remotion.Linq.Clauses.ResultOperatorBase resultOperator, QueryModel queryModel, int index)
        {
            bool first = true;

            _queryAsString.AppendFormat("{0}(", resultOperator.GetType().Name);
            resultOperator.TransformExpressions(e =>
            {
                string comma = ", ";
                if (first)
                {
                    comma = "";
                    first = false;
                }
                _queryAsString.AppendFormat("{0}{1}", comma, ExpressionStringConverter.Format(e));
                return(e);
            });
            _queryAsString.Append(")");
        }
Example #3
0
 /// <summary>
 /// Return the key for doing sub-expression storage in a table.
 /// </summary>
 /// <param name="expr"></param>
 /// <returns></returns>
 private string GetSubExpressionKey(Expression expr)
 {
     return(ExpressionStringConverter.Format(expr, true));
 }
Example #4
0
 public override void VisitWhereClause(Remotion.Linq.Clauses.WhereClause whereClause, QueryModel queryModel, int index)
 {
     _queryAsString.AppendFormat(" where {0}", ExpressionStringConverter.Format(whereClause.Predicate));
 }
Example #5
0
 public override void VisitSelectClause(Remotion.Linq.Clauses.SelectClause selectClause, QueryModel queryModel)
 {
     _queryAsString.AppendFormat(" select {0}", ExpressionStringConverter.Format(selectClause.Selector));
 }
Example #6
0
        /// <summary>
        /// Deal with an order by, on a seperate line.
        /// </summary>
        /// <param name="ordering"></param>
        /// <param name="queryModel"></param>
        /// <param name="orderByClause"></param>
        /// <param name="index"></param>
        public override void VisitOrdering(Remotion.Linq.Clauses.Ordering ordering, QueryModel queryModel, Remotion.Linq.Clauses.OrderByClause orderByClause, int index)
        {
            var d = ordering.OrderingDirection == Remotion.Linq.Clauses.OrderingDirection.Asc ? "asc" : "desc";

            _queryAsString.AppendLine($"orderby {ExpressionStringConverter.Format(ordering.Expression)} {d}");
        }
Example #7
0
 /// <summary>
 /// Do the from clause, one item to a line.
 /// </summary>
 /// <param name="fromClause"></param>
 /// <param name="queryModel"></param>
 public override void VisitMainFromClause(Remotion.Linq.Clauses.MainFromClause fromClause, QueryModel queryModel)
 {
     _queryAsString.AppendLine($"from {fromClause.ItemType.Name} {fromClause.ItemName} in {ExpressionStringConverter.Format(fromClause.FromExpression)}");
 }