protected SqlSelectBase(SqlSelectInfo info, ISqlSelectQueryBuilder queryBuilder) { Info = info; QueryBuilder = queryBuilder; }
protected DbParameter[] GetFilterParameters(SqlSelectInfo info) => Info.Where()?.Parameters? .Concat(Info.Having()?.Parameters ?? new DbParameter[0]).ToArray() ?? Info.Having()?.Parameters ?? new DbParameter[0];
private SqlSelect CreateSqlSelect(SqlSelectInfo info) => new SqlSelect(_innerSqlSelect, info, QueryBuilder);
private SqlSelect(ISqlSelect innerSqlSelect, SqlSelectInfo info, ISqlSelectQueryBuilder queryBuilder) : base(info, queryBuilder) { _innerSqlSelect = innerSqlSelect ?? throw new ArgumentNullException(nameof(innerSqlSelect)); }
private SqlSelect<T> CreateSqlSelect(SqlSelectInfo info) => new SqlSelect<T>(info, QueryBuilder);
private SqlSelect(SqlSelectInfo info, ISqlSelectQueryBuilder queryBuilder) : base(info, queryBuilder) { }