24

EF を使用している MVC5 アプリがあります。ASP.NET ID を追加したいのですが、ASP.NET ID の接続文字列が "DefaultConnection" を使用していることに気付きました。ASP.NET Identity テーブルが既存のデータベース (source=DILS-S1301;initial catalog=MVC5;) で指定されているように、MVC5Entitiesおよび NOT ?? に作成されるようにするには、何をする必要がありますDefaultConnection => (LocalDb)\v11.0か?? ありがとう

<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=&quot;data source=DILS-S1301;initial catalog=MVC5;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

「DefaultConnection」を次のように変更してみました:

<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=&quot;data source=DILS-S1301;initial catalog=MVC5;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

しかし今、私はエラーが発生します:

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'.
4

2 に答える 2

5

実際に行う必要があるのは、DefaultConnection 接続文字列を目的の接続文字列に変更することだけです。新しい MVC 5 プロジェクトに通常の設定を使用し、ID テーブルが新しい DB に存在しない場合、新しい DB に自動的に作成されます。

接続文字列の一部を編集する必要はなく、conntectionString 名を変更する必要がなく、既定の接続文字列を置き換えることに問題がある場合を除き、DbContext コンストラクターを編集する必要はありません。

デフォルトの接続文字列を置き換えても問題ない場合は、それを置き換えるだけでよいはずです...これは私にとってはうまくいきました。

この記事も役に立ちました: 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

于 2014-06-12T03:35:06.813 に答える