internal SqlBinary(SqlNodeType nt, Type clrType, ProviderType sqlType, SqlExpression left, SqlExpression right, MethodInfo method) : base(nt, clrType, sqlType, right.SourceExpression) { switch (nt) { case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.And: case SqlNodeType.Add: case SqlNodeType.Coalesce: case SqlNodeType.Concat: case SqlNodeType.Div: case SqlNodeType.EQ: case SqlNodeType.EQ2V: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.Mod: case SqlNodeType.Mul: case SqlNodeType.NE: case SqlNodeType.NE2V: case SqlNodeType.Or: case SqlNodeType.Sub: this.Left = left; this.Right = right; this.method = method; return; } throw new Exception("Unexpected node: "+nt); }
internal SqlSelect(SqlExpression selection, SqlExpression from, Expression sourceExpression) : base(SqlNodeType.Select, sourceExpression) { //this.Row = new SqlRow(sourceExpression); //this.Selection = selection; this.From = from; //this.groupBy = new List<SqlExpression>(); //this.orderBy = new List<SqlOrderExpression>(); //this.orderingType = SqlOrderingType.Default; }
internal Where(SqlNodeType nodeType, Expression sourceExpression, SqlExpression source, SqlExpression condition) : base(nodeType, source.ClrType, sourceExpression) { Source = source; Condition = condition; }
internal SqlTake(SqlNodeType nt, Expression sourceExpression, SqlExpression from, SqlExpression amount) : base(nt, sourceExpression) { Amount = amount; From = from; }
// Methods internal SqlBinary(SqlNodeType nt, Type clrType, ProviderType sqlType, SqlExpression left, SqlExpression right) : this(nt, clrType, sqlType, left, right, null) { }
public SqlContains(SqlNodeType nodeType, Expression sourceExpression, SqlExpression source, SqlExpression element) : base(nodeType, typeof(bool), sourceExpression) { this.Source = source; this.Element = element; }
internal SqlBinary(SqlNodeType nt, Type clrType, ProviderType sqlType, SqlExpression left, SqlExpression right, MethodInfo method) : base(nt, clrType, sqlType, right.SourceExpression) { switch (nt) { case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.And: case SqlNodeType.Add: case SqlNodeType.Coalesce: case SqlNodeType.Concat: case SqlNodeType.Div: case SqlNodeType.EQ: case SqlNodeType.EQ2V: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.Mod: case SqlNodeType.Mul: case SqlNodeType.NE: case SqlNodeType.NE2V: case SqlNodeType.Or: case SqlNodeType.Sub: this.Left = left; this.Right = right; this.method = method; return; } throw new Exception("Unexpected node: " + nt); }