Archive for June, 2017
Encrypting the connection string for Entity Framework
Posted by scottstoecker in .NET, Entity Framework on June 28, 2017
I needed to encrypt the connection string that Entity Framework uses for its magic. So I encrypted the value in the “connectionString” attribute:
<connectionStrings> <add name="ConnString" connectionString="x4eAeGmvVTwzSOE2js7oWjQgdf" providerName="System.Data.EntityClient" /> </connectionStrings>
I then updated the class in my application that is derived from the DbContext class, decrypting (using the creatively named “ScottsDecryption” (and no, that’s not the actual name)) the string in the call to “base”:
public partial class Entities : DbContext { public Entities() : base(ScottsDecryption(ConfigurationManager.ConnectionStrings["Entities"].ConnectionString)) { } }
By the way, I received a ‘Keyword not supported: “data source”‘ error when first trying to get this working. I needed to replace the “"” entries with actual single quote marks in the connection string, as described in this Stack Overflow post. So I had to change this connection string:
metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.SRModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=blah)(PORT = 1234))(CONNECT_DATA=(SERVICE_NAME=scott.no.way)));User Id=MyID;Password=nope;"
To this:
metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.SRModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string='Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=blah)(PORT = 1234))(CONNECT_DATA=(SERVICE_NAME=scott.no.way)));User Id=MyID;Password=nope;'
Recent Comments