gpt4 book ai didi

c# - Database.SetInitializer 中的 DropCreateDatabaseIfModelChanges

转载 作者:太空宇宙 更新时间:2023-11-03 22:09:10 31 4
gpt4 key购买 nike

我在 Entity Framework V4.1 中使用代码优先模式。我遇到的一件看起来很奇怪的事情是,每当您对模型进行任何更改时,数据库都会被删除并创建新的。这非常不整洁,因为每次删除并重新创建数据库都不是理想的解决方案。我所有的测试数据和一切都丢失了。我知道有一个名为 Seed 的方法,您可以将测试数据记录插入到那里。然而,可能只有几百条测试记录,并且将每条记录都放在种子方法中是不可行的。还有其他选择吗?我根本不会使用代码优先,但在项目中必须使用它。

最佳答案

不,目前没有其他方法,而且 EF 本身可能永远不会支持除删除/重新创建之外的任何内容。 ADO.NET 团队选择的方式是使用名为 Migrations 的单独工具进行数据库升级。 .迁移目前仅作为 CTP 可用 = 它们不适合实际使用,而是用于测试和收集反馈给 EF 团队。

作为一种解决方法,您可以使用外部数据填充脚本并从种子调用它 - 这样维护起来会容易得多。

关于c# - Database.SetInitializer 中的 DropCreateDatabaseIfModelChanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304688/

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