示例#1
0
    static internal ProjectedColumns ProjectColumns(Expression projector, Alias newAlias, bool isGroupKey = false, bool selectTrivialColumns = false)
    {
        var candidates = DbExpressionNominator.Nominate(projector, out Expression newProj, isGroupKey: isGroupKey);

        ColumnProjector cp = new ColumnProjector(candidates, newAlias, selectTrivialColumns);

        Expression e = cp.Visit(newProj);

        return(new ProjectedColumns(e, cp.generator.Columns.NotNull().ToReadOnly()));
    }