using System; using System.Collections.Generic; using System.Linq; namespace DapperExtensions.Sql { public class MySqlDialect : SqlDialectBase { public override char OpenQuote { get { return '`'; } } public override char CloseQuote { get { return '`'; } } public override string GetIdentitySql(string tableName) { return "SELECT CONVERT(LAST_INSERT_ID(), SIGNED INTEGER) AS ID"; } public override string GetPagingSql(string sql, int page, int resultsPerPage, IDictionary parameters) { int startValue = page * resultsPerPage; return GetSetSql(sql, startValue, resultsPerPage, parameters); } public override string GetSetSql(string sql, int firstResult, int maxResults, IDictionary parameters) { string result = string.Format("{0} LIMIT @firstResult, @maxResults", sql); parameters.Add("@firstResult", firstResult); parameters.Add("@maxResults", maxResults); return result; } } }