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

前端之家收集整理的这篇文章主要介绍了实体框架 – EF代码首先 – 如果模型更改重新创建数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开展一个使用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)

猜你在找的MsSQL相关文章