C# Class IQ.Data.ColumnProjector

Splits an expression into two parts 1) a list of column declarations for sub-expressions that must be evaluated on the server 2) a expression that describes how to combine/project the columns back together into the correct result
Inheritance: DbExpressionVisitor
Show file Open project: maravillas/linq-to-delicious Class Usage Examples

Public Methods

Method Description
ProjectColumns ( bool>.Func fnCanBeColumn, Expression expression, IEnumerable existingColumns, TableAlias newAlias ) : ProjectedColumns
ProjectColumns ( bool>.Func fnCanBeColumn, Expression expression, IEnumerable existingColumns, TableAlias newAlias, IEnumerable existingAliases ) : ProjectedColumns

Protected Methods

Method Description
Visit ( Expression expression ) : Expression

Private Methods

Method Description
ColumnProjector ( bool>.Func fnCanBeColumn, Expression expression, IEnumerable existingColumns, TableAlias newAlias, IEnumerable existingAliases ) : System
GetNextColumnName ( ) : string
GetUniqueColumnName ( string name ) : string
IsColumnNameInUse ( string name ) : bool

Method Details

ProjectColumns() public static method

public static ProjectColumns ( bool>.Func fnCanBeColumn, Expression expression, IEnumerable existingColumns, TableAlias newAlias ) : ProjectedColumns
fnCanBeColumn bool>.Func
expression System.Linq.Expressions.Expression
existingColumns IEnumerable
newAlias TableAlias
return ProjectedColumns

ProjectColumns() public static method

public static ProjectColumns ( bool>.Func fnCanBeColumn, Expression expression, IEnumerable existingColumns, TableAlias newAlias, IEnumerable existingAliases ) : ProjectedColumns
fnCanBeColumn bool>.Func
expression System.Linq.Expressions.Expression
existingColumns IEnumerable
newAlias TableAlias
existingAliases IEnumerable
return ProjectedColumns

Visit() protected method

protected Visit ( Expression expression ) : Expression
expression System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression