目前網路上找到比較適合我的方式
修改Model中xxx.Context.cs
public xxxEntities() : base("name=xxxEntities") { }改成如下後就能自帶Connection string
public xxxEntities(string ConnectionString) : base(ConnectionString) { }但上篇所提到的Model如果更新就會被改掉
所以要修改xxx.Context.tt
如果沒把握或看不懂千萬別亂改喔!!
找到
public <#=code.Escape(container)#>() : base("name=<#=container.Name#>") {改成
public <#=code.Escape(container)#>(string ConnectionString) : base(ConnectionString) {使用方式如下
//自行加密 private static string conn = string.Format("metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=\";data source={0};initial catalog={1};user id={2};password={3};MultipleActiveResultSets=True;App=EntityFramework\";", "datasource", "catalog", "id", "pw"); private xxxEntities db = new xxxEntities(conn);要注意的是以下符號改為雙引號,這樣進行字串加密
& q u o t參考來源
Passing Connection String to Entity Framework 6