首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在EF代码优先迁移场景中,种子方法是什么时候调用的?

在EF代码优先迁移场景中,种子方法是什么时候调用的?
EN

Stack Overflow用户
提问于 2014-06-10 21:19:21
回答 2查看 14.2K关注 0票数 20

我是一个项目的新手,有一个用于种子数据的类:

代码语言:javascript
运行
复制
 internal sealed class Configuration : DbMigrationsConfiguration<DAL.Context>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }

和下面的代码来启动种子:

代码语言:javascript
运行
复制
protected override void Seed(Context context)
    {
        try
        {

我的问题是:何时调用Seed方法?仅当用户执行update-database而该用户没有数据库(基本上是新用户)时,或者当具有现有数据库的用户调用update-database

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-10 21:36:25

Seed方法用一些起始数据初始化数据库表。当您运行迁移并更新数据库时,它将运行seed方法。它主要用于测试阶段,测试阶段通常需要重新创建数据库并使用示例数据填充数据库表。请先通过此链接http://blog.oneunicorn.com/2013/05/28/database-initializer-and-migrations-seed-methods/获取有关代码的更多解释。

票数 15
EN

Stack Overflow用户

发布于 2014-06-10 21:35:56

当涉及到来自DbMigrationsConfiguration类的迁移Seed()方法时,每次执行Update-Database命令时都会调用它。另外,当用户调用它时,它具有现有的数据库。

还有另一种Seed()方法--它是一个数据库初始化器。它在数据库创建时被调用,并且不处理现有数据(而来自DbMigrationsConfiguration的种子处理它们,检查指定的实体是否存在)。

很高兴在One Unicorn blog上了解更多信息。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24142107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档