Ari*_*a B 7 c# asp.net asp.net-mvc entity-framework asp.net-mvc-3
seed method我的应用程序的迁移文件夹中的主要用途是什么?在我的Configuration.cs文件中,我在种子方法中得到了这个 -
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" });
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以知道SeedMembership(),如果它不存在,则调用创建角色的用户和用户.什么时候被seed()召唤,它做了什么?我尝试在这个方法上设置一个断点,但它从来没有真正被击中.我尝试搜索其他SO问题以获得进一步的解释,但它有助于帮助.
谢谢.
在程序包管理器控制台中运行时,将调用此seed()方法.configuration.csupdate-database
如果您更改实体框架以使用MigrateDatabaseToLatestVersion数据库初始化程序,它也会在应用程序启动时调用.
| 归档时间: |
|
| 查看次数: |
12005 次 |
| 最近记录: |