【发布时间】:2016-02-12 00:06:05
【问题描述】:
我正在使用 E.F. 和 Code First 方法......现在我必须用一些数据填充数据库......但我不能轻易做到......事情不清楚...... 我已经用谷歌搜索了,但我发现的每个解决方案都假设我必须创建一个自定义初始化......但我不想创建一个自定义初始化......
我需要的是一种方法,每次我启动一些测试时都删除数据库,重新创建它并用一些数据填充它。
我尝试做的是:
public PublicAreaContext()
: base("PublicAreaContext")
{
Database.SetInitializer<PublicAreaContext>(new DropCreateDatabaseAlways<PublicAreaContext>());
}
然后我尝试在Configuration 类中实现Seed 方法。所以:
internal sealed class Configuration : DbMigrationsConfiguration<PublicAreaContext>
{
protected override void Seed(PublicAreaContext context)
{
...
}
}
但是当我尝试调试时,我从不进入种子方法......我进入 Configuration 类的构造函数,但没有进入种子......为什么?
感谢您的帮助
【问题讨论】:
-
Seed 方法将在您创建迁移并基于该迁移更新数据库时运行。您是否正在创建新的迁移?
-
不,我没有创建任何迁移...我只想在每次启动测试套件时删除数据库,重新创建然后填充一些数据...