/// <summary>
        /// Get MySQL script to count the records in a table
        /// </summary>
        /// <param name="recordCount"></param>
        /// <returns></returns>
        protected override string GetRecordCountScript(RecordCountRule recordCount)
        {
            var countQuery = new Query(recordCount.TableName).AsCount();

            var query = new Query(recordCount.TableName).Select("*").WhereRaw($"({_mySqlCompiler.Compile(countQuery)}) {recordCount.Operator} {recordCount.Count}");

            var result = _mySqlCompiler.Compile(query);

            return($"SELECT EXISTS ({result});");
        }
        /// <summary>
        /// Get SQLServer script to count the records in a table
        /// </summary>
        /// <param name="recordCount"></param>
        /// <returns></returns>
        protected override string GetRecordCountScript(RecordCountRule recordCount)
        {
            var countQuery = new Query(recordCount.TableName).AsCount();

            var query = new Query(recordCount.TableName).Select("*")
                        .WhereRaw($"({_sqlServerCompiler.Compile(countQuery)}) {recordCount.Operator} {recordCount.Count}");

            var result = _sqlServerCompiler.Compile(query);

            return($"IF EXISTS ({result}) BEGIN Select 1 END ELSE BEGIN Select 0 END;");
        }
 /// <summary>
 /// Get script to count the records in a table
 /// </summary>
 /// <param name="recordCount"></param>
 /// <returns></returns>
 protected abstract string GetRecordCountScript(RecordCountRule recordCount);