Entity Framework 4.0 - 从现有模型升级数据库

发布于 2024-10-19 20:33:26 字数 258 浏览 0 评论 0 原文

我正在使用 EF 4.0 制作一个 Web 应用程序,并采用“模型优先”方法 - 因此我定义了所有实体,生成 DDL 并创建基于模型的数据库结构。

现在,每次模型发生变化时,我都会重新生成 DDL,并从头开始重新创建数据库结构 - 删除并重新创建表。在此过程中,我丢失了所有已有的配置数据。目前来说这很好,但展望未来,一旦应用程序投入生产,如果我决定更改某些内容,我将如何升级数据库?

为了简单起见,(如何)我可以从模型升级数据库并保留所有数据?

谢谢!

I'm doing a web app using EF 4.0, and taking the "model first" approach - so I define all my entities, generate a DDL and create a database structure based the model.

Now, every time something changes in the model, I regenerate the DDL and the database structure is recreated from scratch - tables are dropped and recreated. In this process, I lose all configuration data that was already. This is fine for now, but going forward, once the app goes to production, how will I be able to upgrade the database if I decide to change something?

To simplify, (how) can I upgrade the database from the model and keep all the data?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无妨# 2024-10-26 20:33:26

您需要另一个工作流程或 T4 模板来生成数据库。它已在 Entity Designer Database Generation Power pack 扩展中提供适用于 Visual Studio 2010。唯一的问题是这些工作流使用 Visual Studio 中的数据库工具,这些工具仅在高级版和旗舰版中可用。

如果您没有 VS 2010 Premium 或 Ultimate,则必须先部署新的数据库来测试环境,然后自己编写 diff 脚本或购买一些 diff 脚本生成器 - 我推荐 红门

You need another workflow or T4 templated for DB generation. It is already available in Entity Designer Database Generation Power pack extension for Visual Studio 2010. The only problem is that these workflows are using database tools from Visual Studio which are only available in Premium and Ultimate edition.

If you don't have VS 2010 Premium or Ultimate you must deploy new DB to test environment first and write diff script by yourselves or buy some diff script generator - I recommend DB tools from Red Gate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文