我是一个项目的新手,有一个用于种子数据的类:
internal sealed class Configuration : DbMigrationsConfiguration<DAL.Context>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}和下面的代码来启动种子:
protected override void Seed(Context context)
{
try
{我的问题是:何时调用Seed方法?仅当用户执行update-database而该用户没有数据库(基本上是新用户)时,或者当具有现有数据库的用户调用update-database时
发布于 2014-06-10 21:36:25
Seed方法用一些起始数据初始化数据库表。当您运行迁移并更新数据库时,它将运行seed方法。它主要用于测试阶段,测试阶段通常需要重新创建数据库并使用示例数据填充数据库表。请先通过此链接http://blog.oneunicorn.com/2013/05/28/database-initializer-and-migrations-seed-methods/获取有关代码的更多解释。
发布于 2014-06-10 21:35:56
当涉及到来自DbMigrationsConfiguration类的迁移Seed()方法时,每次执行Update-Database命令时都会调用它。另外,当用户调用它时,它具有现有的数据库。
还有另一种Seed()方法--它是一个数据库初始化器。它在数据库创建时被调用,并且不处理现有数据(而来自DbMigrationsConfiguration的种子处理它们,检查指定的实体是否存在)。
很高兴在One Unicorn blog上了解更多信息。
https://stackoverflow.com/questions/24142107
复制相似问题