Я использую 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.
Если я заменю амперсанд в пароле на &
, я получу SqlException: Login failed for user 'myUser'.
Обычно этот трюк работает, но я предполагаю, что что-то не получается, потому что это технически строка подключения внутри строки подключения. *
Что мне здесь делать? Большинство моих уроков включают код вроде:
using (var context = new MyEntities()) {
// do work
}
Обновление: Оказывается, учетные данные, которые я использую, являются учетной записью домена, поэтому мне действительно нужно Integrated Security=True
в строке подключения, а не пароль.
Кодирование амперсанда, как указано в принятом ответе должно работать нормально, хотя я его не проверял.