【发布时间】:2015-01-05 13:26:02
【问题描述】:
我是 Codefirst 的新手,我不明白它是如何正常工作的。 我通过“Add-Migration”命令创建了 3 个迁移,迁移 1..3,并使用“Update Database”发布了相关更新。
我在我的 Migration 目录中有一个 Configuration.cs 文件,我创建了一个自定义数据库初始化程序(我正在使用 MySQL),以便为初始数据提供种子。
我不知道在我还没有任何数据库的生产环境中幕后发生了什么。
谁负责创建和更新数据库?迁移是否一个接一个地执行?
你能建议我这个过程在生产中是如何工作的并分享有用的链接吗?
问候, 罗伯托
【问题讨论】:
-
生产环境没有db是什么意思?
-
嗨,我在生产中从头开始,我刚刚部署了包。我认为在第一次调用上下文类时会在幕后调用迁移过程,但是以什么方式?
-
你应该从你的初始化器中调用
CreateIfNotExists函数,或者使用一个完全可以做到这一点的初始化器,我不推荐这样做——这给我带来了很多麻烦。 -
我认为您要弄清楚的是这种初始化发生的位置/时间 - 我知道所有事情开始的地方是 Global.asax Application_Start 函数。
-
您好,我调用了 Database.Create,我的问题是了解迁移在连续步骤中的工作方式:迁移 1 到 3 是否作为对 DB 的不同命令按顺序启动?
标签: entity-framework ef-code-first entity-framework-migrations