欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Dapper.SimpleCRUD mysql 插入数据时出现的小插曲

程序员文章站 2022-07-05 17:04:33
最近想玩一下.net dapper,然后在nuget包中搜索看到了 Dapper.SimpleCRUD ,然后我等好奇心重的小骚年,内心又开始跃跃欲试。 使用sqlserver数据库时没有遇到问题,既然sqlserver没有什么问题,那mysql会怎样呢? 好奇害死猫,那就试了一下吧,oh shit ......

最近想玩一下.net dapper,然后在nuget包中搜索看到了 Dapper.SimpleCRUD ,然后我等好奇心重的小骚年,内心又开始跃跃欲试。

使用sqlserver数据库时没有遇到问题,既然sqlserver没有什么问题,那mysql会怎样呢?

好奇害死猫,那就试了一下吧,oh shit!对方不想和你说话,并抛了一个异常给你。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[users] ([UserName], [Pwd], [Slat], [UserType], [Stat], [CreateTime], [LastLogin' at line 1

异常的大概意思是说:哥们你的sql语句有语法错误

异常如下:

Dapper.SimpleCRUD mysql 插入数据时出现的小插曲

 

幸亏这个异常中指出了错误的地方,sql语句中的表名与字段名竟然有中括号,这个东西在sqlserver中是没有问题的,但是mysql中并没有中括号,mysql用``这个玩意,tab键上面那个。那么问题来了,该怎么改呢?

用下面这行代码来解决这个问题

Dapper.SimpleCRUD.SetDialect(Dapper.SimpleCRUD.Dialect.MySQL);

因为Dapper.SimpleCRUD默认Dialect是sqlserver,把Dialect设置为mysql后,一切平静而自然。

在此记录一下这次遇到的问题,也希望可以帮到你们