Entity Framework 5.0 Code First を使用する MVC4 Web アプリケーションがあります。
Global.asax.cs には、Entity.Database を初期化し、データベースを強制的に初期化し、メンバーシップのデータベースを初期化するブートストラップがあります。コードは次のとおりです。
System.Data.Entity.Database.SetInitializer(new DatabaseContextInitializer());
Database.Initialize(true);
WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION, "UserProfile", "UserId", "UserName", autoCreateTables: true);
DatabaseContextInitializer は、今のところ非常に単純です。
public class DatabaseContextInitializer : DropCreateDatabaseIfModelChanges<DatabaseContext>
{
protected override void Seed(DatabaseContext dbContext)
{
base.Seed(dbContext);
db.Set<Workout>().Add(new Workout {Id = 1, Name = "My First workout user1"})
}
}
問題は、メンバーシップにユーザーを作成できないことです:
WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION, "UserProfile", "UserId", "UserName", autoCreateTables: true);
データベースが作成されないという問題があるためです。Entity Framework 5.0 と Asp.Net MVC 4 を使用してデータベースの既定のユーザーを初期化するにはどうすればよいですか?