我的理解是,约定是在DBContext方法中在重写的OnModelCreating方法的一侧使用Entity Framework Fluent API;并且这仅在数据库创建期间运行。
这将使我相信,只有在您每次发生更改时丢弃并创建数据库时,Fluent API才能多次使用(例如,当您开发数据库时)。
我的问题是:有没有办法利用Fluent API进行数据库配置,仅用于数据库更新,例如在运行数据库迁移命令“update-database”时?
答案 0 :(得分:1)
来自DbContext.OnModelCreating documentation:
通常,只有在创建派生上下文的第一个实例时才调用此方法一次。然后缓存该上下文的模型,该模型适用于app域中上下文的所有其他实例。
因此,在创建模型时调用它,而不仅仅是在创建数据库时调用。如果您在添加迁移后致电Update-Database
,或者在发布新版本后启动了您的网站,则会发生这种情况。
参考文献:
https://stackoverflow.com/a/6181867/150342
http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/