/// <summary>
        /// Sets the database dialect
        /// </summary>
        /// <param name="dialect"></param>
        public static void SetDialect(Dialect dialect)
        {
            TableNames.Clear();
            ColumnNames.Clear();
            StringBuilderCacheDict.Clear();

            switch (dialect)
            {
            case Dialect.PostgreSQL:
                _dialect         = Dialect.PostgreSQL;
                _encapsulation   = "\"{0}\"";
                _getIdentitySql  = string.Format("SELECT LASTVAL() AS id");
                _getPagedListSql = "Select {SelectColumns} from {TableName} {WhereClause} Order By {OrderBy} LIMIT {RowsPerPage} OFFSET (({PageNumber}-1) * {RowsPerPage})";
                break;

            case Dialect.SQLite:
                _dialect         = Dialect.SQLite;
                _encapsulation   = "\"{0}\"";
                _getIdentitySql  = string.Format("SELECT LAST_INSERT_ROWID() AS id");
                _getPagedListSql = "Select {SelectColumns} from {TableName} {WhereClause} Order By {OrderBy} LIMIT {RowsPerPage} OFFSET (({PageNumber}-1) * {RowsPerPage})";
                break;

            case Dialect.MySQL:
                _dialect         = Dialect.MySQL;
                _encapsulation   = "`{0}`";
                _getIdentitySql  = string.Format("SELECT LAST_INSERT_ID() AS id");
                _getPagedListSql = "Select {SelectColumns} from {TableName} {WhereClause} Order By {OrderBy} LIMIT {Offset},{RowsPerPage}";
                break;

            default:
                _dialect         = Dialect.SQLServer;
                _encapsulation   = "[{0}]";
                _getIdentitySql  = string.Format("SELECT CAST(SCOPE_IDENTITY()  AS BIGINT) AS [id]");
                _getPagedListSql = "SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY {OrderBy}) AS PagedNumber, {SelectColumns} FROM {TableName} {WhereClause}) AS u WHERE PagedNumber BETWEEN (({PageNumber}-1) * {RowsPerPage} + 1) AND ({PageNumber} * {RowsPerPage})";
                break;
            }
        }