Wie richte ich ASP.NET Identität mit meinem eigenen connection string?
Ich habe eine MVC5 app, die EF. Ich möchte hinzufügen, ASP.NET Identität und ich habe bemerkt, dass die Verbindungszeichenfolge für ASP.NET Identität ist mit "DefaultConnection". Was muss ich tun, damit ASP.NET Identität Tabellen erstellt werden, in meinem bereits bestehenden db (source=DILS-S1301;initial catalog=MVC5;) wie angegeben in MVC5Entities
und NICHT DefaultConnection => (LocalDb)\v11.0
??
Dank
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MySuperAwesomeMVCApp-20131105011429.mdf;Initial Catalog=aspnet-MySuperAwesomeMVCApp-20131105011429;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="MVC5Entities" connectionString="metadata=res://*/Models.Mvc5Model.csdl|res://*/Models.Mvc5Model.ssdl|res://*/Models.Mvc5Model.msl;provider=System.Data.SqlClient;provider connection string="data source=DILS-S1301;initial catalog=MVC5;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
Ich versucht, das ändern "DefaultConnection" wie so:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=DILS-S1301;AttachDbFilename=|DataDirectory|\MVC5.mdf;Initial Catalog=MVC5;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="MVC5Entities" connectionString="metadata=res://*/Models.Mvc5Model.csdl|res://*/Models.Mvc5Model.ssdl|res://*/Models.Mvc5Model.msl;provider=System.Data.SqlClient;provider connection string="data source=DILS-S1301;initial catalog=MVC5;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
aber jetzt bekomme ich eine Fehlermeldung:
Database 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MVC5.mdf' already exists. Choose a different database name.
Cannot attach the file 'C:\Users\blah\Documents\Visual Studio 2013\Projects\MySuperAwesomeMVCApp\MySuperAwesomeMVCApp\App_Data\MVC5.mdf' as database 'MVC5'.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn oben ist die richtige Zusammenfassung deiner Frage, unten ist die Antwort.
ASP.NET Identität verwendet Entity Framework für Datenbank-Aufgaben. So können Sie folgende option geeignet.
Option 1: EntityFramework Standard-Verbindungszeichenfolge können Sie setup mit dem folgenden code-snippet im web.config
Option 2: Programmatisch, können Sie auch pass-ConnectionString Namen der DbContext-Konstruktor. wie
new ApplicationDbContext(MyConnectionString)
defaultConnectionFactory
- Klausel. 2. Und erstellt die angegebene Datenbank in neuenew ApplicationDbContext()
Konstruktor-parameter. 3. Wenn der Konstruktor hat keine Parameter, die die Datenbank erstellt namens"DefaultConnection"
.Eigentlich alle Sie tun müssen ist, ändern Sie die DefaultConnection connectionString, um Ihre gewünschte Verbindungszeichenfolge. Wenn Sie die normalen Einstellungen für ein neues MVC 5 Projekt, und die Identität Tabellen existieren nicht in der neuen Datenbank, die Sie erstellt es automatisch.
Haben Sie nicht zu Bearbeiten, der Teil der Verbindung, string und nicht zum Bearbeiten der DbContext-Konstruktor, es sei denn, Sie möchten, ändern Sie die conntectionString Namen und sind nicht in Ordnung, ersetzen Sie die Standard-Verbindungszeichenfolge.
Wenn Sie OK mit dem Austausch der Standard-Verbindungszeichenfolge, die Sie sollten in der Lage sein, um Sie einfach ersetzen... das funktionierte für mich.
Ich fand diesen Artikel hilfreich sein:
http://www.typecastexception.com/post/2013/10/27/Configuring-Db-Connection-and-Code-First-Migration-for-Identity-Accounts-in-ASPNET-MVC-5-and-Visual-Studio-2013.aspx