C# MySQL解释生成查询中的特殊字符

C# MySQL解释生成查询中的特殊字符,c#,.net,mysql,mysql-management,C#,.net,Mysql,Mysql Management,我正在尝试使用MySQL.data.dll将我们框架的数据库层从SQLServer迁移到MySQL。我在MySQL中生成了以下查询: select * from `user` where `user_domainname` = 'domain\beth'; MySQL将上述字符串中的“\b”解释为钟形字符,而SqlServer不解释任何此类转义字符。MySQL中的解决方案- select * from `user` where `user_domainname` = 'domain\\beth

我正在尝试使用MySQL.data.dll将我们框架的数据库层从SQLServer迁移到MySQL。我在MySQL中生成了以下查询:

select * from `user` where `user_domainname` = 'domain\beth';
MySQL将上述字符串中的“\b”解释为钟形字符,而SqlServer不解释任何此类转义字符。MySQL中的解决方案-

select * from `user` where `user_domainname` = 'domain\\beth';
要在C#中执行此操作,我必须将每个\b或其他此类字符替换为\b,考虑到最终将执行的此类转换的数量,这对我来说不是一个非常可行的选择

所以我的问题是,MySQL中是否有任何选项可以避免它在数据库级别解释这些特殊字符。如果没有,我可以使用什么api来执行这样的转换。我确实查看了MySqlHelper类,但在那里找不到任何有用的东西

提前感谢,

Bharath

从MySQL 5.0.1开始,您可以设置将反斜杠转换为另一个普通字符。但要确保你永远不会在其他地方依赖反斜杠

要在实时服务器上执行此操作(直到重新启动):

别忘了将其添加到MySQL配置文件(my.cnf或my.ini)中,以便在下次启动时生效!添加行

sql-mode=NO_BACKSLASH_ESCAPE
sql-mode=NO_BACKSLASH_ESCAPE