Was ist die Hauptursache von seed method
im Migrationsordner meiner Anwendung? In meiner Configuration.cs
Datei habe ich in meiner Samen Methode -Seed-Methode in MVC Entity Framework
protected override void Seed(TestApplication.DataBaseContext.AppDBContext context)
{
// This method will be called after migrating to the latest version.
// You can use the DbSet<T>.AddOrUpdate() helper extension method
// to avoid creating duplicate seed data. E.g.
//
// context.People.AddOrUpdate(
// p => p.FullName,
// new Person { FullName = "Andrew Peters" },
// new Person { FullName = "Brice Lambson" },
// new Person { FullName = "Rowan Miller" }
// );
//
SeedMemebership();
}
private void SeedMemebership()
{
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("DefaultConnection",
"UserProfile", "UserId", "UserName", autoCreateTables: true);
}
var roles = (SimpleRoleProvider)Roles.Provider;
var membership = (SimpleMembershipProvider)Membership.Provider;
if (!roles.RoleExists("Administrator"))
{
roles.CreateRole("Administrator");
}
if (membership.GetUser("admin", false) == null)
{
membership.CreateUserAndAccount("admin", "password");
}
if (!roles.GetRolesForUser("admin").Contains("Administrator"))
{
roles.AddUsersToRoles(new[] { "admin" }, new[] { "Administrator" });
}
}
Wie jeder ausmachen kann es die SeedMembership()
nennt, die eine Rolle und einen Benutzer erstellt, wenn es nicht vorhanden ist. Wann heißt das seed()
und was macht es? Ich habe versucht, mit dieser Methode einen Wendepunkt zu setzen, aber es wurde nie wirklich getroffen. Ich habe versucht, andere SO Fragen für weitere Erklärungen zu suchen, aber es hilft nicht.
Vielen Dank.
Dies hilft? http://StackOverflow.com/Questions/20245527/entity-framework-seed-method-is-not-being-called – HOKBONG