MySQL + Dapper扩展:SQL语法错误

时间:2018-10-26 21:40:24

标签: dapper dapper-extensions mysql-8.0

我正在尝试使用Dapper Extensions进行CRUD操作。但是在将数据插入MySQL数据库时出现如下错误:

  

错误:您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在[....]

行的[......]附近使用正确的语法

如果我使用MSSQL数据库,则Dapper Extensions正常运行。为什么我的MySQL出现此错误?

1 个答案:

答案 0 :(得分:2)

该错误是因为Dapper Extensions正在生成SQL Server查询(默认情况下),而您实际上已连接到MySQL。这两个RDBMS之间存在语法差异,因此会出现错误。您必须告诉Dapper Extensions您正在连接到MySQL。

在启动时设置方言。

DapperExtensions.DapperExtensions.SqlDialect = new DapperExtensions.Sql.MySqlDialect();

这将指示Dapper Extensions根据MySql的语法生成查询。对于许多支持多个RDBMS查询生成的ORM,不仅是Dapper Extensions,也是类似的。

除此之外,您还可以考虑实施日志记录,这可以帮助您诊断问题。 MiniProfiler是用于此目的的好工具。您可以在我的other答案中找到更多详细信息。