我正在尝试在我的DBContext的构造函数中将密码添加到我的字符串连接中,如下所示
public partial class Control : DbContext
{
public Control(string conexion): base(crearConexion(conexion))
{
}
public static String crearConexion(string nombreConexion)
{
string conexion = ConfigurationManager.ConnectionStrings[nombreConexion].ConnectionString;
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder(conexion);
sqlBuilder.Password = "somepassword";
return sqlBuilder.ToString();
}
}
但它抛出了这个异常
system.argumentexception keyword not supported 'metadata'
为什么我做错了?
答案 0 :(得分:4)
尝试使用EntityConnectionStringBuilder。
如果您查看EF连接字符串(检查您的app.config文件),您将看到sql server连接字符串是其中的一部分,而且还有其他信息,SqlConnectionStringBuilder
可以解析:
metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost;initial catalog=Test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"