Sto utilizzando Entity Framework 4 per una semplice applicazione e vorrei cuocere le mie credenziali di connessione nella seguente stringa di connessione:Come includere la e commerciale nella stringa di connessione?
<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>
Tuttavia, la password (che non posso cambiare) contiene una e commerciale. ASP.NET getta: Configuration Error: An error occurred while parsing EntityName. Line XX, position YYY.
Se sostituisco la e commerciale nella password con &
, ho un SqlException: Login failed for user 'myUser'.
Di solito questo trucco funziona, ma credo che qualcosa sta fallendo perché questo è tecnicamente una stringa di connessione all'interno di una connessione stringa.
Cosa devo fare qui? La maggior parte delle mie classi includono il codice come:
using (var context = new MyEntities()) {
// do work
}
Aggiornamento: Si scopre che le credenziali sto usando sono un account di dominio, così che cosa ho veramente bisogno è Integrated Security=True
nella stringa di connessione piuttosto che un parola d'ordine.
Codificare la e commerciale come indicato nella risposta accettata dovrebbe funzionare, anche se non l'ho provato.
Ho già provato questo, come notato nella mia domanda. Sembra che la password errata sia inviata insieme a Entity Framework. – user403830
Questo dovrebbe essere tutto ciò che serve per farlo funzionare. – hunter
Inoltre, prova ad accedere a quell'istanza di SQL Server utilizzando le credenziali nella tua connessione senza l'applicazione – hunter