在我的实体框架项目中,我通过App.config中的connectionStrings连接到数据库。没问题。
<connectionStrings>
<add name="ParametrosEntities" connectionString="metadata=res://*/Model.Busine...." providerName="System.Data.EntityClient" />
</connectionStrings>
现在,BusinessEntities类用于连接字符串
public partial class ParametrosEntities : DbContext
{
public ParametrosEntities()
: base("ParametrosEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
}
现在,我正在做的是加密连接URL以确保安全,但这是我不知道如何让EntityFramewor更改连接字符串的地方。我解释一下。
的App.config
<connectionStrings>
<add name=" ParametrosEntitiesMDM" connectionString="FGDHTYEHSN58302..." providerName="System.Data.EntityClient" />
</connectionStrings>
然后我创建了一个新的类来解密
public class ServDbContext : DbContext
{
public ServDbContext(string sNameOrStringConnection)
{
new DbContext(GetConnection(sNameOrStringConnection));
}
public static string GetConnection(string nameStrg)
{
bool bFlag = false;
var conexion = Desencriptar(ConfigurationManager.ConnectionStrings[nameStrg].ConnectionString, out bFlag);
if (bFlag)
return conexion;
else
return "";
}
}
最后我的BusinessEntities改为
public partial class ParametrosEntities : ServDbContext
{
public ParametrosEntities()
: base("ParametrosEntitiesMDM")
{
}
}
,这给出了错误:
初始化字符串的格式不符合从索引0开始的规范。
且无法连接。