【问题标题】:Can the EF Fluent API be after database creationEF Fluent API 可以在数据库创建之后
【发布时间】:2015-03-19 20:43:56
【问题描述】:

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

这会让我相信 Fluent API 只能被多次利用(例如,在您开发数据库时),如果您在每次发生更改时都删除和创建数据库。

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

【问题讨论】:

    标签: entity-framework fluent-interface


    【解决方案1】:

    来自DbContext.OnModelCreating documentation:

    通常,此方法仅在派生上下文的第一个实例创建时调用一次。然后缓存该上下文的模型,并用于应用程序域中上下文的所有进一步实例。

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

    参考资料:

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

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

    【讨论】:

    • 谢谢...我想我只是想确定在开发 MVC 应用程序、添加模型等时能够开发数据库的最佳方法。似乎有两个根,指向一个初始化器,在更改后删除和重新创建,或者通过数据迁移/包管理器控制台显式应用更改。前者对我来说似乎更直接。对偏好的反馈表示赞赏。
    • 来自上面的优雅代码链接。提示 1 - “不要使用自动迁移 自动迁移对于演示和快速概念验证很有趣,但在生产应用程序中没有位置”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2019-08-10
    • 2021-09-08
    • 1970-01-01
    • 2014-09-05
    相关资源
    最近更新 更多