我知道在您创建迁移时会调用它,但这是 ONLY 调用的唯一时间吗?
似乎不像在请求进入时(在WebApi系统的上下文中)被调用,但是在服务器启动时会被调用吗?还是在部署过程中的任何时候?还是在迁移期间运行?
寻求数据播种的目的,尽管我也想知道摘要中的答案。
答案 0 :(得分:1)
OnModelCreating
时,框架会调用它来制作模型并映射到内存中。它为您提供了一种使用Fluent API来配置模型类的方法。因此,您可以在模型类中进行更改,然后添加迁移并更新数据库。生成的快照为您提供了有关数据库的确切详细信息。在程序执行期间不会调用它。
答案 1 :(得分:0)
至少,在应用迁移时也会调用该方法,该方法通常配置为在WebHost启动时自动完成。 猜测是因为EF在执行迁移之前尝试验证数据库状态。这种验证似乎需要一个模型进行比较,因此可以运行该方法。
它可能还会在其他情况下运行。