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";