0

I just want to pass a SqlConnectionStringBuilder into my dbcontext base() but the code is not working.

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();
    }

In other words I want to turn this

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

to sql connection string builder to put in my dbcontext.

J.P Masangcay
  • 759
  • 2
  • 10
  • 28

2 Answers2

0

I think this is what you are looking for:

https://msdn.microsoft.com/en-us/library/bb302786%28v=vs.110%29.aspx

Your code should return:

entityConnectionStringBuilder.ToString();

  • I am getting this exception: System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. – J.P Masangcay Dec 21 '15 at 17:54
  • what are you using database? Is you sure that prodiver name is correct? – Alexcei Shmakov Dec 21 '15 at 18:02
  • See this: http://stackoverflow.com/questions/16165158/unable-to-find-the-requested-net-framework-data-provider-it-may-not-be-install –  Dec 21 '15 at 18:10
0

Why you are returning

return sqlBuilder.ToString();

May be

return entityConnectionStringBuilder.ToString()

And replace

entityConnectionStringBuilder.Provider = "System.Data.EntityClient";

by

entityConnectionStringBuilder.Provider = "System.Data.SqlClient";
Alexcei Shmakov
  • 2,203
  • 3
  • 19
  • 34