我只想将SqlConnectionStringBuilder
传递给我的dbcontext base(),但代码无效。
public MirrorBranchesEntities(string db)
: base(ConnectToSqlServer(db))
{
}
public static string ConnectToSqlServer(string catalog)
{
var sqlBuilder = new SqlConnectionStringBuilder();
sqlBuilder.DataSource = "(local)";
sqlBuilder.InitialCatalog = catalog;
sqlBuilder.PersistSecurityInfo = true;
sqlBuilder.IntegratedSecurity = false;
sqlBuilder.MultipleActiveResultSets = true;
sqlBuilder.UserID = "sa";
sqlBuilder.Password = "Qwer0987";
var entityConnectionStringBuilder = new EntityConnectionStringBuilder();
entityConnectionStringBuilder.Provider = "System.Data.EntityClient";
entityConnectionStringBuilder.ProviderConnectionString = sqlBuilder.ConnectionString;
entityConnectionStringBuilder.Metadata = "res://*/MirrorBranches.csdl|res://*/MirrorBranches.ssdl|res://*/MirrorBranches.msl";
return sqlBuilder.ToString();
}
换句话说,我想转此
"name=" + connectionStringName + "connectionString=metadata=res://*/MirrorBranches.csdl|res://*/MirrorBranches.ssdl|res://*/MirrorBranches.msl;provider=System.Data.SqlClient;provider connection string="data source=(local);initial catalog=" + db + ";user id=sa;password=Qwer0987;MultipleActiveResultSets=True;App=EntityFramework" providerName=System.Data.EntityClient"
将sql连接字符串构建器放入我的dbcontext。
答案 0 :(得分:0)
我认为这就是你要找的东西:
https://msdn.microsoft.com/en-us/library/bb302786%28v=vs.110%29.aspx
您的代码应该返回:
entityConnectionStringBuilder.ToString();
答案 1 :(得分:0)
你回来的原因
return sqlBuilder.ToString();
可能是
return entityConnectionStringBuilder.ToString()
并替换
entityConnectionStringBuilder.Provider = "System.Data.EntityClient";
通过
entityConnectionStringBuilder.Provider = "System.Data.SqlClient";