加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – EF 4代码如何首先处理生产环境中的模式更改?

发布时间:2020-12-15 23:12:23 所属栏目:asp.Net 来源:网络整理
导读:传统上我一直用手编写我的sql脚本,所以它们很好,很干净(我不是生成的)的粉丝,并且发布,我提供了一个新的安装脚本和从以前版本创建新的安装脚本表,更改现有的表等.这是非常标准的. 我没有真的有太多时间玩EF 4代码首先,但如果它在生产环境中实际可行,我很有兴
传统上我一直用手编写我的sql脚本,所以它们很好,很干净(我不是生成的)的粉丝,并且发布,我提供了一个新的安装脚本和从以前版本创建新的安装脚本表,更改现有的表等.这是非常标准的.

我没有真的有太多时间玩EF 4代码首先,但如果它在生产环境中实际可行,我很有兴趣使用它.

假设你有一个代码第一的方法,数据库将自动创建,如果一个不存在.如果发布具有模式/模型更改的软件的新版本,将会发生什么. EF足够聪明地更新数据库模式以匹配更新的EF模型?

脚本

>客户端在他们的服务器上安装asp.net MVC网站.首次运行时,将创建一个新的数据库
>客户端使用网站一段时间,数据库填充一些数据
>同时新版网站发布,EF模式发生变化
>客户端下载新版本,部署网站并指向现有数据库

代码首先只对初始部署有用,还是足够聪明地更新现有的数据库版本以便如此发布?

解决方法

从EF CTP4开始,您的数据库将在每次更改对象模型时被删除并重新创建(这不是默认约定,您必须通过设置数据库初始化程序策略来明确告知EF Code-First).

话虽如此,EF团队正在积极地开发一个完全解决您的情况的Database Evolution (aka Migrations) Solution:一种解决方案,随着时间的推移,随着对象模型的变化,将会发展数据库模式,基本上尝试将数据库更改为与模型同步,而不是重新创建它

根据EF团队,该功能将作为EF下一个版本的一部分提供,该版本将于2011年第一季度发布.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读