EFCore OnModelCreating 何时被调用?

When does EFCore OnModelCreating get invoked?

我知道当您创建 迁移时它会被调用,但它是只有 次被调用吗?

似乎不​​像是在请求进来时调用它(在 WebApi 系统的上下文中),但是它是在服务器启动时调用的吗?或者在部署过程中的任何时候?或者在迁移期间 运行?

要求进行数据播种,但我也想知道摘要中的答案。

OnModelCreating 在第一次创建时由框架调用以制作模型并映射到内存中。它为您提供了一种使用 Fluent API 配置模型 class 的方法。因此,您在模型 class 中进行更改,然后添加迁移并更新数据库。生成的快照为您提供有关数据库的确切详细信息。它不会在程序执行期间被调用。

至少,在应用迁移时也会调用该方法,这通常配置为在 WebHost 启动时自动完成。 猜测是因为 EF 在执行迁移之前尝试验证数据库状态。该验证似乎需要一个模型进行比较,因此该方法是 运行.

可能还有其他场合运行。