发布生产环境中的数据库模式更改和实体框架4

时间:2010-09-28 16:59:11

标签: sql-server c#-4.0 entity-framework-4

好的,在我们阅读了几个相关的问题之后,我还没有结束我的想法真正有效的解决方案。

思想:

正如我们所有的开发人员创建应用程序,然后这些应用程序投入生产,客户几天后需要其他功能。 大!您通过服务器资源管理器打开您的数据库,创建表,添加列,可能更改数据类型,然后从数据库更新您的模型,很好,它可以正常工作!

现在您按照自己的方式发布项目(InstallShield,InstallAware,VS Setup Project ...)。 你可以,例如有一个模式比较工具,获取脚本,尝试它(它正在工作),然后将其添加到“InstallShield”或其他安装程序支持此工作!

我一直在搜索实体框架是否有办法实现更改,或者是否有开箱即用的方式根据您的模型更新架构???

一般情况下是否有Entity Framework 4 Schema Change支持?

谢谢。

1 个答案:

答案 0 :(得分:3)

您永远不会打开服务器资源管理器来修改您的架构,这就是它们崩溃的地方。您始终编写升级脚本,然后将升级脚本应用于客户端站点。见Version Control and your Database。或者您将项目存储为VS DB项目并根据.schema文件应用基于vsdbcmd的现场数据升级,但是通过这种方法,您可以放弃 lot 控制,如果你有大桌子,它会破坏你的一天。

至于建模工具架构升级支持功能:它们远远落后于VSDB升级功能,我个人认为显式升级脚本比任何基于差异的工具(EF,VSDB,SQL)都更优越,更灵活。比较等)。