public override SqlFragment Visit(DbElementExpression expression) { SelectStatement s = VisitInputExpressionEnsureSelect(expression.Argument, null, null); s.Wrap(scope); return(s); }
public SelectStatement WrapIfNotCompatible(SelectStatement select, DbExpressionKind expressionKind) { if (select.IsCompatible(expressionKind)) { return(select); } SelectStatement newSelect = new SelectStatement(); select.Wrap(scope); select.Scoped = true; newSelect.From = select; return(newSelect); }
private InputFragment WrapJoinInputIfNecessary(InputFragment fragment, bool isRightPart) { if (fragment is SelectStatement || fragment is UnionFragment) { fragment.Wrap(scope); fragment.Scoped = true; } else if (fragment is JoinFragment && isRightPart) { SelectStatement select = new SelectStatement(); select.From = fragment; select.Name = fragment.Name; select.Wrap(scope); return(select); } return(fragment); }
private InputFragment WrapJoinInputIfNecessary(InputFragment fragment, bool isRightPart) { if (fragment is SelectStatement || fragment is UnionFragment) { fragment.Wrap(scope); fragment.Scoped = true; } else if (fragment is JoinFragment && isRightPart) { SelectStatement select = new SelectStatement(); select.From = fragment; select.Name = fragment.Name; select.Wrap(scope); return select; } return fragment; }
public SelectStatement WrapIfNotCompatible(SelectStatement select, DbExpressionKind expressionKind) { if (select.IsCompatible(expressionKind)) return select; SelectStatement newSelect = new SelectStatement(); select.Wrap(scope); select.Scoped = true; newSelect.From = select; return newSelect; }