Пример #1
0
 protected override Expression VisitSubquery(SubqueryExpression subquery)
 {
     if ((subquery.NodeType == (ExpressionType)DbExpressionType.Scalar ||
         subquery.NodeType == (ExpressionType)DbExpressionType.In) &&
         subquery.Select != null)
     {
         if (subquery.Select.Columns.Count != 1)
             throw new InvalidOperationException("Subquery has {0} columns: {1}".Formato(subquery.Select.Columns.Count, subquery.NiceToString()));
         allColumnsUsed.GetOrCreate(subquery.Select.Alias).Add(subquery.Select.Columns[0].Name);
     }
     return base.VisitSubquery(subquery);
 }