连接字符串中的撇号(单引号)

我在连接字符串中的'字符有问题。 entity framework抛出exception说:

初始化字符串的格式不符合从索引开始的规范

我尝试了这里和这里建议的答案无济于事。

我也尝试用SqlConnectionStringBuilder类构造它,并得到相同的exception结果。

谁能帮我吗?

提前致谢。

编辑:

connectionstring确实在web.config文件中,它看起来像这样:

  

问题在于Password=test'password位。

  1. 我不能把它放在双引号中,因为它已经被它们包围了。
  2. 我不能把它放在" -s因为它已经被它们包围了。
  3. 我不能把它放在单引号中,因为单引号本身就是我想逃避的。

Password='test'password'不起作用。

我终于偶然发现了一个正确的答案。 看来,你必须用单引号括起值,并另外复制内部撇号以逃避它,如下所示:

Password='test''password'

这是一个非常愚蠢的问题,浪费了这么多时间。 我希望将来节省一些时间。

感谢大家的参与。

假设它是包含单引号的密码,您应该尝试用xml编码的双引号括起密码,如下所示:

    

假设您不在Xml上下文中(如@PanagiotisKanavos所述),ConnectionString初始化将如下所示:

 var conn = new SqlConnection("Data Source=.; Initial Catalog=MYDB; User ID=MyUser;Password=\"my'password\"; providerName="System.Data.SqlClient")