我的Seed()
方法永远不会被调用。当我Update-Database
从包管理器控制台执行操作时会调用它,但从代码运行时不会调用它。如果我删除我的数据库,则会创建所有表(因此我的迁移类被执行),但我的 Seed() 代码永远不会被调用。MVC 4,实体框架 5 代码优先。
全球.asax:
protected void Application_Start()
{
Database.SetInitializer<MyContext>(new DbInitializer());
}
数据库初始化:
internal class DbInitializer : MigrateDatabaseToLatestVersion<MyContext, Migrations.Configuration>
{
}
数据库上下文:
public partial class MyContext : DbContext
{
public MyContext() : base("DefaultConnection")
{
}
// public DBSets....
}
配置:
internal sealed class Configuration : DbMigrationsConfiguration<MyContext>
{
public Configuration()
{
// The constructor is actually called
AutomaticMigrationsEnabled = false;
}
protected override void Seed(MyContext context)
{
// My seed code, never called
}
有什么问题?