/// <summary> /// Builds the SQL statement. /// </summary> /// <returns></returns> public virtual string BuildSqlStatement() { ValidateQuery(); ISqlGenerator generator = GetGenerator(); string sql; switch (QueryCommandType) { case QueryType.Update: sql = generator.BuildUpdateStatement(); break; case QueryType.Insert: sql = generator.BuildInsertStatement(); break; case QueryType.Delete: sql = generator.BuildDeleteStatement(); break; default: sql = PageSize > 0 ? generator.BuildPagedSelectStatement() : generator.BuildSelectStatement(); break; } return(sql); }