だから私は次の初期化子でデータベースをシードしようとしています
public class DbInitializer : DropCreateDatabaseAlways<IAMContext>
{
protected override void Seed(IAMContext context)
{
WebSecurity.InitializeDatabaseConnection("IAMContext",
"UserProfile", "UserId", "UserName", autoCreateTables: true);
var roles = Roles.Provider;
var membership = Membership.Provider;
if (!roles.RoleExists("Admin"))
{
roles.CreateRole("Admin");
}
if (!WebSecurity.UserExists("test"))
{
WebSecurity.CreateUserAndAccount("test", "password");
}
if (!roles.GetRolesForUser("test").Contains("Admin"))
{
roles.AddUsersToRoles(new[] { "test" }, new[] { "admin" });
}
context.Products.Add(new Product
{
Id = 1,
Name = "Homunculi",
Price = 85,
LongDescription = "Happens when failed human transmutations occur",
ShortDescription = "Failed Xmute",
media = "CD"
});
base.Seed(context);
}
}
最初に WebSecurity.InitializeDatabaseConnection を呼び出す必要があるという例外が常に発生します。すでに持っているようで、少し混乱しています。どんな助けでも素晴らしいでしょう。Webフォーム認証は初めてです。ご理解とご回答ありがとうございます。