internal static IEnumerable <ColumnExpression> GetProjectedColumns(JoinExpression join)
        {
            IEnumerable <ColumnExpression> projectedColumns;

            if (join.Left is FromExpression)
            {
                projectedColumns = ((FromExpression)join.Left).GetProjectedColumns();
            }
            else
            {
                projectedColumns = GetProjectedColumns((JoinExpression)join.Left);
            }
            if (join.Right is FromExpression)
            {
                projectedColumns = projectedColumns.Concat(((FromExpression)join.Right).GetProjectedColumns());
            }
            else
            {
                projectedColumns = projectedColumns.Concat(GetProjectedColumns((JoinExpression)join.Right));
            }
            return(projectedColumns);
        }
Example #2
0
 internal static IEnumerable<ColumnExpression> GetProjectedColumns(JoinExpression join)
 {
     IEnumerable<ColumnExpression> projectedColumns;
     if (join.Left is FromExpression)
         projectedColumns = ((FromExpression)join.Left).GetProjectedColumns();
     else
         projectedColumns = GetProjectedColumns((JoinExpression)join.Left);
     if (join.Right is FromExpression)
         projectedColumns = projectedColumns.Concat(((FromExpression)join.Right).GetProjectedColumns());
     else
         projectedColumns = projectedColumns.Concat(GetProjectedColumns((JoinExpression)join.Right));
     return projectedColumns;
 }