Reputation: 140
I want to create a new database using EF6. This is my connection string. I'm using code-first.
<connectionStrings>
<add name="local"
providerName="System.Data.SqlClient"
connectionString="Data Source=(localdb)\MSSQLLocalDB;AttachDbFileName=|DataDirectory|\SampleDbName.mdf;Integrated Security=True;MultipleActiveResultSets=True" />
</connectionStrings>
After running my asp.net app EF completely creates database, but it's name changes to SAMPLEDBNAME_349a392a7d84452287b4948d4f2ab5cf
(it's probably a guid).
What do I have to do to create database with name specified in connection string?
Upvotes: 3
Views: 176
Reputation: 590
Add this to your connection string:
Database=DatabaseName
or InitialCatalog=DatabaseName
like so(if registering with dependency injection):
string connection = @"Server=server_address;Database=databaseName;PersistSecurityInfo=False;User=username;Password=pa$$;MultipleActiveResultSets=False;";
services.AddDbContext<DbContextName>(options => options.UseSqlServer(connection));
Or in your case
connectionString="Data Source=(localdb)\MSSQLLocalDB;AttachDbFileName=|DataDirectory|\SampleDbName.mdf;Integrated Security=True;Database=DatabaseName;MultipleActiveResultSets=True" />
or if Database=DatabaseName won't work try InitialCatalog=DatabaseName
Upvotes: 4