【发布时间】:2011-04-18 23:16:38
【问题描述】:
我正在为一个简单的应用程序使用 Entity Framework 4,并希望将我的连接凭据烘焙到以下连接字符串中:
<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.
如果我用&amp; 替换密码中的& 符号,我会得到SqlException: Login failed for user 'myUser'. 通常这个技巧有效,但我猜有些东西失败了,因为这在技术上是连接字符串中的连接字符串。
我应该在这里做什么?我的大部分课程都包含如下代码:
using (var context = new MyEntities()) {
// do work
}
更新:原来我使用的凭据是域帐户,所以我真正需要的是连接字符串中的Integrated Security=True,而不是密码。
按照接受的答案应该对 & 符号进行编码,虽然我还没有测试过。
【问题讨论】:
标签: c# asp.net configuration entity-framework-4