我正在尝试设置与使用实体框架,Autofac和标识2.0 这里我的应用程序上下文类管理角色的初始用户拨打种子方法:IdentityDbContext不会从我的数据库初始化
public class ApplicationContext<TUser> : IdentityDbContext<TUser> where TUser : IdentityUser
{
public ApplicationContext(string conectionString) : base(conectionString)
{
Database.SetInitializer(new MyContextInitializer());
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//entities builder and configuration
}
}
和我自定义初始化程序:
class MyContextInitializer : DropCreateDatabaseIfModelChanges<ApplicationContext<IdentityUser>>
{
protected override void Seed(ApplicationContext<IdentityUser> context)
{
//seeding data
}
}
问题是种子方法从来没有被调用过。发生了什么以及如何解决这个问题?感谢您的提前!
我不认为这是可能的,如果你留在你的应用程序上下文中的通用 - '的ApplicationContext'是不是隐含转换为'的ApplicationContext ' 。您可能可以将通用参数添加到MyContextInitializer中,并使用TUser作为其Seed方法 - 尽管现在无法检查。 –
@raderick谢谢你的回复,但我从上下文中删除了泛型,一切正常! – user3818229