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

实体框架 – EF代码首先 – 如果模型更改重新创建数据库

发布时间:2020-12-12 16:44:31 所属栏目:MsSql教程 来源:网络整理
导读:我正在开展一个使用EF Code First和POCO的项目.我有5个POCO,至今依赖于POCO“用户”. POCO“User”应该是指已经存在的MemberShip表“aspnet_Users”(我将其映射到DbContext的OnModelCreating方法). 问题是,我想利用Scott Gu显示的“重新创建数据库如果模型更
我正在开展一个使用EF Code First和POCO的项目.我有5个POCO,至今依赖于POCO“用户”.

POCO“User”应该是指已经存在的MemberShip表“aspnet_Users”(我将其映射到DbContext的OnModelCreating方法).

问题是,我想利用Scott Gu显示的“重新创建数据库如果模型更改”功能:http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx – 基本上的功能是在我的POCO中看到任何更改后立即重新创建数据库.我想要做的是重新创建数据库,但不知何故不会删除整个数据库,以便aspnet_Users仍然存在.然而,它似乎是不可能的,因为它要么制作一个全新的数据库,要么替换当前的数据库.

所以我的问题是:我注定要手动定义我的数据库表,或者我可以以某种方式将我的POCO合并到我的当前数据库中,并且仍然使用该功能而不擦拭它?

解决方法

截至EF Code First CTP5中,这是不可能的. Code First将删除并创建您的数据库,或者根本不触摸它.我想在你的情况下,您应该手动创建完整的数据库,然后尝试找出一个与DB匹配的对象模型.

也就是说,EF团队正在积极处理您正在寻找的功能:更改数据库而不是重新创建它:

Code First Database Evolution (aka Migrations)

(编辑:李大同)

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

    推荐文章
      热点阅读