gpt4 book ai didi

entity-framework - EF Code First - 如果模型更改,则重新创建数据库

转载 作者:行者123 更新时间:2023-12-03 23:18:07 24 4
gpt4 key购买 nike

我目前正在开发一个使用 EF Code First 和 POCO 的项目。到目前为止,我有 5 个 POCO 取决于 POCO“用户”。

POCO“用户”应该引用我已经存在的 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 合并到我当前的数据库中,并且仍然可以使用该功能而不将其全部删除?

最佳答案

从 CTP5 中的 EF Code First 开始,这是不可能的。 Code First 将删除并创建您的数据库,否则它根本不会触及它。我认为在您的情况下,您应该手动创建完整的数据库,然后尝试提出与数据库匹配的对象模型。

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

Code First Database Evolution (aka Migrations)

关于entity-framework - EF Code First - 如果模型更改,则重新创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com