Reputation: 321
I have a Web API project using Entity Framework using the default local database, how can I change it to use a connection string for a new database?
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
Web config
: https://pastebin.com/rKaJ8p6V
Upvotes: 0
Views: 303
Reputation: 1005
In configuration
tag in Web.Config
file, use connectionStrings
tag like this:
<connectionStrings>
<add name="[Your Connection String Name]" connectionString="Server=.;initial catalog=[your Database name];integrated security=sspi" providerName="System.Data.SqlClient"/></connectionStrings>
And your DbContext
constructor class, use your connection string
public class DatabaseContext:DbContext
{
public DatabaseContext():base("[Your Connection String Name]")
{
}
}
Upvotes: 1
Reputation: 2854
Here is a connection string example:
<connectionStrings>
<add name="xxxDbContext" connectionString="Server=tcp:hostname,1433;Initial Catalog=xxxDb;Persist Security Info=False;User ID=sa;Password=xxx;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;" providerName="System.Data.SqlClient" />
</connectionStrings>
And then, you can use it this way, where xxxDbContext
is your EntityFramework DbContext
class.
using (xxxDbContext db = new xxxDbContext("name=xxxDbContext"))
{
...
}
Upvotes: 2