繁体   English   中英

实体框架自动迁移

[英]Entity Framework Automatic migration

我有一个3层架构项目(Web,Service,DataAccess),我只想在POCO发生变化时将数据库迁移到最新版本。 我们可以通过从Application_Start事件调用自动迁移代码来完成此操作。 在这种情况下,我没有在我的网站中引用DataAccess项目。 那么如何从Application_Start事件中调用自动迁移代码?

Database.SetInitializer(new MigrateDatabaseToLatestVersion<BlogContext, Configuration>()); 

我无法从Application_Start访问BlogContext

请帮我

提前谢谢[在生产环境中,我们无法通过VS运行update-database命令,所以有没有其他方法可以自动更新数据库)

您应该从迁移生成脚本以在生产中执行。 对我有用的是使用Update-Database -Script

这会创建一个带有“迁移差异”的脚本,您可以将其作为SQL脚本手动应用于目标服务器数据库(并且应该插入正确的迁移表行等)。

就个人而言,我不相信“实时”场景中的自动更新,我总是更喜欢手动数据库管理(即创建或更改Db所需的权限存在问题 - 更不用说共享主机等) - 但是从我的内容来看在同步方面,已经看到迁移是非常可靠的(实际上,通常是'解开'它们的唯一方法是删除Db并强制完全/新的更新)。 希望有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM