public override Expression Visit(DbCrossJoinExpression expression) { List<Expression> inputExpressions = new List<Expression>(); foreach (var i in expression.Inputs) { inputExpressions.Add(this.Visit(i.Expression)); } Expression last = inputExpressions[0]; // Always: at most 2 for (int i = 1; i < inputExpressions.Count; i++) { Type sourceType = TypeHelper.GetElementType(last.Type); Type collectionType = TypeHelper.GetElementType(inputExpressions[i].Type); // Create selector for the second collection LambdaExpression collectionSelector = Expression.Lambda( Expression.Convert( inputExpressions[i], typeof(IEnumerable<>).MakeGenericType(collectionType)), Expression.Parameter(sourceType)); last = this.CreateCrossJoin( last, collectionSelector, expression.Inputs[i - 1].VariableName, expression.Inputs[i].VariableName); } return last; }
/// <summary> /// Implements the visitor pattern for <see cref="T:System.Data.Common.CommandTrees.DbCrossJoinExpression"/>. /// </summary> /// <param name="expression">The <see cref="T:System.Data.Common.CommandTrees.DbCrossJoinExpression"/> that is visited.</param> public override void Visit(DbCrossJoinExpression expression) { foreach (DbExpressionBinding binding in expression.Inputs) { binding.Expression.Accept(this); } }
public override void Visit(DbCrossJoinExpression expression) { Write(expression); _depth++; Write("Inputs", expression.Inputs); _depth--; }
public override TreeNode Visit(DbCrossJoinExpression e) { TreeNode retInfo = NodeFromExpression(e); retInfo.Children.Add(this.VisitBindingList("Inputs", e.Inputs)); return(retInfo); }
public override Expression Visit(DbCrossJoinExpression expression) { List <Expression> inputExpressions = new List <Expression>(); foreach (var i in expression.Inputs) { inputExpressions.Add(this.Visit(i.Expression)); } Expression last = inputExpressions[0]; // Always: at most 2 for (int i = 1; i < inputExpressions.Count; i++) { Type sourceType = TypeHelper.GetElementType(last.Type); Type collectionType = TypeHelper.GetElementType(inputExpressions[i].Type); // Create selector for the second collection LambdaExpression collectionSelector = Expression.Lambda( Expression.Convert( inputExpressions[i], typeof(IEnumerable <>).MakeGenericType(collectionType)), Expression.Parameter(sourceType)); last = this.CreateCrossJoin( last, collectionSelector, expression.Inputs[i - 1].VariableName, expression.Inputs[i].VariableName); } return(last); }
public override TreeNode Visit(DbCrossJoinExpression e) { Check.NotNull <DbCrossJoinExpression>(e, nameof(e)); TreeNode treeNode = ExpressionPrinter.PrinterVisitor.NodeFromExpression((DbExpression)e); treeNode.Children.Add(this.VisitBindingList("Inputs", e.Inputs)); return(treeNode); }
public override object Visit(DbCrossJoinExpression expression) { foreach (var arg in expression.Inputs) { this.Visit(arg.Expression); } return(null); }
public override TreeNode Visit(DbCrossJoinExpression e) { Check.NotNull(e, "e"); var retInfo = NodeFromExpression(e); retInfo.Children.Add(VisitBindingList("Inputs", e.Inputs)); return(retInfo); }
public override LegacyCommandTrees.DbExpression Visit(DbCrossJoinExpression expression) { Debug.Assert(expression != null, "expression != null"); return (LegacyExpressionBuilder .CrossJoin( expression.Inputs.Select( binding => binding.Expression.Accept(this).BindAs(binding.VariableName)))); }
public override void Visit(DbCrossJoinExpression e) { VisitExprKind(e.ExpressionKind); _key.Append('('); foreach (var i in e.Inputs) { VisitBinding(i); } _key.Append(')'); }
public override void Visit(DbCrossJoinExpression e) { Begin(e); Begin("Inputs"); foreach (DbExpressionBinding binding in e.Inputs) { Dump(binding, "Input"); } End("Inputs"); End(e); }
public override void Visit(DbCrossJoinExpression e) { Check.NotNull <DbCrossJoinExpression>(e, nameof(e)); this.VisitExprKind(e.ExpressionKind); this._key.Append('('); foreach (DbExpressionBinding input in (IEnumerable <DbExpressionBinding>)e.Inputs) { this.VisitBinding(input); } this._key.Append(')'); }
public override void Visit(DbCrossJoinExpression e) { Check.NotNull <DbCrossJoinExpression>(e, nameof(e)); this.Begin((DbExpression)e); this.Begin("Inputs"); foreach (DbExpressionBinding input in (IEnumerable <DbExpressionBinding>)e.Inputs) { this.Dump(input, "Input"); } this.End("Inputs"); this.End((DbExpression)e); }
/// <summary> /// Implements the visitor pattern for <see cref="T:System.Data.Common.CommandTrees.DbCrossJoinExpression"/>. /// </summary> /// <param name="expression">The <see cref="T:System.Data.Common.CommandTrees.DbCrossJoinExpression"/> that is visited.</param> public override void Visit(DbCrossJoinExpression expression) { if (expression == null) { throw new ArgumentNullException("expression"); } foreach (DbExpressionBinding binding in expression.Inputs) { binding.Expression.Accept(this); } }
public override void Visit(DbCrossJoinExpression expression) { EntityUtils.CheckArgumentNull <DbCrossJoinExpression>(expression, nameof(expression)); foreach (DbExpressionBinding input in (IEnumerable <DbExpressionBinding>)expression.Inputs) { this.VisitExpressionBindingPre(input); } foreach (DbExpressionBinding input in (IEnumerable <DbExpressionBinding>)expression.Inputs) { this.VisitExpressionBindingPost(input); } }
public override void Visit(DbCrossJoinExpression e) { Check.NotNull(e, "e"); Begin(e); Begin("Inputs"); foreach (var binding in e.Inputs) { Dump(binding, "Input"); } End("Inputs"); End(e); }
public override void Visit(DbCrossJoinExpression expression) { if (expression == null) { throw new ArgumentException("expression"); } foreach (DbExpressionBinding binding in expression.Inputs) { VisitExpressionBindingPre(binding); } foreach (DbExpressionBinding binding2 in expression.Inputs) { VisitExpressionBindingPost(binding2); } }
/// <summary> /// Visitor pattern method for <see cref="DbCrossJoinExpression" />. /// </summary> /// <param name="expression"> The DbCrossJoinExpression that is being visited. </param> /// <exception cref="ArgumentNullException"> /// <paramref name="expression" /> /// is null /// </exception> public override void Visit(DbCrossJoinExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. Check.NotNull(expression, "expression"); foreach (var b in expression.Inputs) { VisitExpressionBindingPre(b); } foreach (var b in expression.Inputs) { VisitExpressionBindingPost(b); } }
public override void Visit(DbCrossJoinExpression expression) { throw new NotSupportedException("Visit(\"CrossJoinExpression\") is not supported."); }
public override SqlFragment Visit(DbCrossJoinExpression expression) { throw new NotImplementedException(); }
/// <summary> /// Visitor pattern method for <see cref="DbCrossJoinExpression" />. /// </summary> /// <param name="expression"> The DbCrossJoinExpression that is being visited. </param> /// <exception cref="ArgumentNullException"> /// <paramref name="expression" /> /// is null /// </exception> public override void Visit(DbCrossJoinExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. Check.NotNull(expression, "expression"); foreach (var b in expression.Inputs) { VisitExpressionBindingPre(b); } foreach (var b in expression.Inputs) { VisitExpressionBindingPost(b); } }
public override void Visit(DbCrossJoinExpression e) { Check.NotNull(e, "e"); Begin(e); Begin("Inputs"); foreach (var binding in e.Inputs) { Dump(binding, "Input"); } End("Inputs"); End(e); }
public override void Visit(DbCrossJoinExpression expression) { throw new NotSupportedException("Visit(\"DbCrossJoinExpression\") is not supported."); }
public override void Visit(DbCrossJoinExpression expression) { }
public override void Visit(DbCrossJoinExpression e) { Begin(e); Begin("Inputs"); foreach (DbExpressionBinding binding in e.Inputs) { Dump(binding, "Input"); } End("Inputs"); End(e); }
public override SqlFragment Visit(DbCrossJoinExpression expression) { Debug.Assert(expression.Inputs.Count == 2); return HandleJoinExpression(expression.Inputs[0], expression.Inputs[1], expression.ExpressionKind, null); }
public override DbExpression Visit(DbCrossJoinExpression expression) { System.Diagnostics.Debug.Print("Visit(DbCrossJoinExpression): {0}", expression); return base.Visit(expression); }
public override void Visit(DbCrossJoinExpression e) { VisitExprKind(e.ExpressionKind); _key.Append('('); foreach (var i in e.Inputs) { VisitBinding(i); } _key.Append(')'); }
public override DbExpressionEntitySetInfo Visit(DbCrossJoinExpression expression) { Check.NotNull(expression, "expression"); return(null); }
public override bool Visit(DbCrossJoinExpression expression) { return(VisitExpressionBindingList(expression.Inputs)); }
public override TReturn Visit(DbCrossJoinExpression expression) { throw ConstructNotSupportedException(expression); }
public override ChangeNode Visit(DbCrossJoinExpression node) { throw EntityUtil.NotSupported(System.Data.Entity.Strings.Update_UnsupportedJoinType(node.ExpressionKind)); }
public override void Visit(DbCrossJoinExpression expression) { if (expression == null) throw new ArgumentException("expression"); foreach (DbExpressionBinding binding in expression.Inputs) { VisitExpressionBindingPre(binding); } foreach (DbExpressionBinding binding2 in expression.Inputs) { VisitExpressionBindingPost(binding2); } }
/// <summary> /// Visitor pattern method for DbCrossJoinExpression. /// </summary> /// <param name="expression"> The DbCrossJoinExpression that is being visited. </param> public abstract void Visit(DbCrossJoinExpression expression);
/// <summary> /// Visitor pattern method for DbCrossJoinExpression. /// </summary> /// <param name="expression"> The DbCrossJoinExpression that is being visited. </param> public abstract void Visit(DbCrossJoinExpression expression);
/// <summary> /// Implements the visitor pattern for <see cref="T:System.Data.Common.CommandTrees.DbCrossJoinExpression"/>. /// </summary> /// <param name="expression">The <see cref="T:System.Data.Common.CommandTrees.DbCrossJoinExpression"/> that is visited.</param> public override void Visit(DbCrossJoinExpression expression) { if (expression == null) { throw new ArgumentNullException("expression"); } foreach (DbExpressionBinding binding in expression.Inputs) { binding.Expression.Accept(this); } }
public override bool Visit(DbCrossJoinExpression expression) { Check.NotNull <DbCrossJoinExpression>(expression, nameof(expression)); return(this.VisitExpressionBindingList(expression.Inputs)); }
public override ISqlFragment Visit(DbCrossJoinExpression e) { return(VisitJoinExpression(e.Inputs, e.ExpressionKind, "CROSS JOIN", null)); }
public override DbExpression Visit(DbCrossJoinExpression expression) { System.Diagnostics.Debug.Print("Visit(DbCrossJoinExpression): {0}", expression); return(base.Visit(expression)); }
public override ChangeNode Visit(DbCrossJoinExpression node) { Check.NotNull(node, "node"); throw new NotSupportedException(Strings.Update_UnsupportedJoinType(node.ExpressionKind)); }
public override SqlFragment Visit(DbCrossJoinExpression expression) { Debug.Assert(expression.Inputs.Count == 2); return(HandleJoinExpression(expression.Inputs[0], expression.Inputs[1], expression.ExpressionKind, null)); }
/// <summary> /// Visitor pattern method for <see cref="DbCrossJoinExpression"/>. /// </summary> /// <param name="expression">The DbCrossJoinExpression that is being visited.</param> /// <exception cref="ArgumentNullException"><paramref name="expression"/> is null</exception> public override void Visit(DbCrossJoinExpression expression) { foreach (var b in expression.Inputs) { VisitExpressionBindingPre(b); } foreach (var b in expression.Inputs) { VisitExpressionBindingPost(b); } }
/// <summary> /// Visitor pattern method for <see cref="DbCrossJoinExpression" />. /// </summary> /// <param name="expression"> The DbCrossJoinExpression that is being visited. </param> /// <exception cref="ArgumentNullException"> /// <paramref name="expression" /> /// is null /// </exception> public override void Visit(DbCrossJoinExpression expression) { Check.NotNull(expression, "expression"); foreach (var b in expression.Inputs) { VisitExpressionBindingPre(b); } foreach (var b in expression.Inputs) { VisitExpressionBindingPost(b); } }
public override DbExpressionEntitySetInfo Visit(DbCrossJoinExpression expression) { return(null); }
public override void Visit(DbCrossJoinExpression expression) { Contract.Requires(expression != null); }