我正在嘗試設置與使用實體框架,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