EF Fluent API可以在创建数据库之后使用

时间:2015-01-21 10:52:55

标签: entity-framework fluent-interface

我的理解是,约定是在DBContext方法中在重写的OnModelCreating方法的一侧使用Entity Framework Fluent API;并且这仅在数据库创建期间运行。

这将使我相信,只有在您每次发生更改时丢弃并创建数据库时,Fluent API才能多次使用(例如,当您开发数据库时)。

我的问题是:有没有办法利用Fluent API进行数据库配置,仅用于数据库更新,例如在运行数据库迁移命令“update-database”时?

1 个答案:

答案 0 :(得分:1)

来自DbContext.OnModelCreating documentation

  

通常,只有在创建派生上下文的第一个实例时才调用此方法一次。然后缓存该上下文的模型,该模型适用于app域中上下文的所有其他实例。

因此,在创建模型时调用它,而不仅仅是在创建数据库时调用。如果您在添加迁移后致电Update-Database,或者在发布新版本后启动了您的网站,则会发生这种情况。

参考文献:

https://stackoverflow.com/a/6181867/150342

http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/