最近想玩一下.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语句有语法错误
异常如下:
幸亏这个异常中指出了错误的地方,sql语句中的表名与字段名竟然有中括号,这个东西在sqlserver中是没有问题的,但是mysql中并没有中括号,mysql用``这个玩意,tab键上面那个。那么问题来了,该怎么改呢?
用下面这行代码来解决这个问题
Dapper.SimpleCRUD.SetDialect(Dapper.SimpleCRUD.Dialect.MySQL);
因为Dapper.SimpleCRUD默认Dialect是sqlserver,把Dialect设置为mysql后,一切平静而自然。
在此记录一下这次遇到的问题,也希望可以帮到你们