C# 无法首先在实体框架DB中的dbcontext中创建动态连接
我只想将一个C# 无法首先在实体框架DB中的dbcontext中创建动态连接,c#,entity-framework,C#,Entity Framework,我只想将一个SqlConnectionStringBuilder传递到我的dbcontext base()中,但代码不起作用 public MirrorBranchesEntities(string db) : base(ConnectToSqlServer(db)) { } public static string ConnectToSqlServer(string catalog) { var sqlBuilder = new
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连接字符串生成器放入我的数据库上下文中。我想这就是您要寻找的: 您的代码应返回: entityConnectionStringBuilder.ToString() 你为什么要回来
return sqlBuilder.ToString();
可能是
return entityConnectionStringBuilder.ToString()
替换
entityConnectionStringBuilder.Provider = "System.Data.EntityClient";
借
我遇到以下异常:System.ArgumentException:找不到请求的.Net Framework数据提供程序。可能未安装。您正在使用什么数据库?你确定prodiver的名字是正确的吗?请看:非常感谢@Alexei。很抱歉,答复迟了。被击倒了。再次感谢你!
entityConnectionStringBuilder.Provider = "System.Data.SqlClient";