如何在连接string中包含&符号?
我正在使用entity framework4为一个简单的应用程序,并希望将我的连接凭据烤到以下连接string:
<connectionStrings> <add name="MyEntities" connectionString="metadata=res://*/MyDataModel.csdl|res://*/MyDataModel.ssdl|res://*/MyDataModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=localhost\DEV;Initial Catalog=MyDB;UserId=myUser;Password=jack&jill;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" /> </connectionStrings>  但是,密码(我无法更改)包含&符号。  ASP.NET引发: Configuration Error: An error occurred while parsing EntityName. Line XX, position YYY. Configuration Error: An error occurred while parsing EntityName. Line XX, position YYY. 
 如果我用&  ,我得到一个SqlException: Login failed for user 'myUser'. 通常这个技巧是有效的,但是我猜测有些东西是失败的,因为这在技术上是连接string中的连接string。 
我应该在这里做什么? 我的大部分课程包括如下代码:
 using (var context = new MyEntities()) { // do work } 
  更新:事实certificate,我使用的凭据是一个域帐户,所以我真正需要的是在连接stringIntegrated Security=True而不是密码。 
如接受的答案中所示,对&符号进行编码应该可以正常工作,尽pipe我还没有对它进行testing。
您将需要像使用所有.config文件所在的任何XML文档一样使用转义序列。
-   &符号=&= &
-  大于=> = >
-  小于= <= <
-   Apostrophe ='= '
-   Quote =“= "
 您也可以使用CDATA标签,以便您可以使用这些非法字符 
  <![CDATA[并以]]>结尾]]> 
 <connectionStrings> <add name="MyEntities" connectionString=" metadata=res://*/MyDataModel.csdl|res://*/MyDataModel.ssdl|res://*/MyDataModel.msl; provider=System.Data.SqlClient; provider connection string=" Data Source=localhost\DEV; Initial Catalog=MyDB;UserId=myUser; Password=<![CDATA[jack&jill]]>; MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" /> </connectionStrings> 
这在技术上是连接string内的连接string
你试过两次逃跑吗?
 &amp;