t. *_*MAZ 2 dapper dapper-extensions mysql-8.0
我正在尝试使用 Dapper Extensions 进行 CRUD 操作。但是在将数据插入 MySQL 数据库时出现错误,如下所示:
错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 [....] 行附近 [......] 使用的正确语法
如果我使用 MSSQL 数据库,Dapper Extensions 工作正常。为什么我在使用 MySQL 时出现此错误?
该错误是因为 Dapper Extensions 正在生成 SQL 服务器的查询(默认情况下),因为您实际上已连接到 MySQL。这两个 RDBMS 之间存在语法差异,因此存在错误。您必须告诉 Dapper Extensions 您正在连接到 MySQL。
在应用程序启动时在某处设置方言。
//Synchronous
DapperExtensions.DapperExtensions.SqlDialect = new DapperExtensions.Sql.MySqlDialect();
//Asynchronous
DapperExtensions.DapperAsyncExtensions.SqlDialect = new DapperExtensions.Sql.MySqlDialect();
Run Code Online (Sandbox Code Playgroud)
正如您所注意到的,您需要为同步和异步方法分别进行配置。您可以在github上阅读有关此内容的更多信息。
这将指示 Dapper Extensions 根据 MySql 的语法生成查询。不仅是 Dapper 扩展,对于许多支持为多个 RDBMS 生成查询的 ORM 也需要类似的扩展。
除此之外,您还可以考虑实施日志记录,这可以帮助您诊断问题。MiniProfiler是用于此目的的好工具。您可以在我的另一个答案中找到更多详细信息。
| 归档时间: |
|
| 查看次数: |
987 次 |
| 最近记录: |