我正在使用实体框架(4.3)迁移。我有一个正常的配置类,它定义了一个 Seed 方法,它应该在迁移之后调用以添加数据:
internal sealed class SettingsConfig : DbMigrationsConfiguration<My.Assembly>
{
public SettingsConfig()
{
AutomaticMigrationsEnabled = false;
}
protected override void Seed(ScannerAreaManager.DataAccess.CableSenseLocal context)
{
// This method will be called after migrating to the latest version.
}
}
我正在运行 SQL Server 探查器来查看数据库发生了什么。
现在,如果我删除数据库,并使用 F5(附加到调试器)从 Visual Studio 运行此应用程序,它会运行,我可以看到数据库已创建,迁移运行,种子方法被调用并将数据添加到数据库
如果我然后删除我的数据库,并使用 Ctrl-F5(未附加到调试器)再次运行应用程序,那么我会看到我的数据库已创建,迁移运行,但种子方法永远不会被调用。
这确定不是设计的吗?有任何想法吗?