最初に EF コードを使用する MVC4 アプリケーションに SimpleMembership を追加しました。
数人のユーザーをシード データとしてデータベースに追加したいと考えていました。初めて実行Update-Database
したときはすべてうまくいきました。ユーザーとパスワードは正しく設定されていました。
ただし、アルファ サーバー (Visual Studio から) で実行しようとすると、ユーザーが追加されません。
これを行うには、コマンドを発行します
update-database -ConnectionString "<my alpha connection string>"
スキーマは更新されますが、シード メソッドはデータを追加せずに実行されます。
掘り下げた後、シードメソッドを次のように変更しました。
if (!WebSecurity.Initialized)
WebSecurity.InitializeDatabaseConnection("TestData", "UserProfile", "UserId", "UserName", true);
TestData
web.config ファイル内の接続文字列の名前はどこですか
に:
if (!WebSecurity.Initialized)
WebSecurity.InitializeDatabaseConnection("<actualConnectionString>","System.Data.SqlClient", "UserProfile", "UserId", "UserName", true);
これにより、アルファ データベースにデータが追加されました。
そのため、コマンドを発行するとUpdate-Database
、WebSecurity はその接続文字列を無視し、ローカルで実行しようとしているように見えます。
不足している設定またはオプションはありますか?
編集このシードは Configuration.cs Seed メソッドで行われます。