我正在开发一个实用程序,它将数据从一个结构传输到另一个数据结构,然后存储在由Entity-Framework控制的SQl Server数据库中。
每次我更改目标数据库模型时,我都会执行以下操作;
阅读以下http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx后,我认为我有两种选择。我不认为我想推出自己的初始化程序。
第一个选项是在开发期间使用其中一个drop create策略,(dropCreateifmodelChanges或DropCreateAlways)Drop Drop进程是否会删除现有的目标数据,并重新设置Identity计数器?
第二个选项是以某种方式包括删除,以及种子功能中的ID重置。可以这样做吗?如果是这样 - 怎么样?
有更好的选择吗?有没有人有任何建议?
答案 0 :(得分:1)
我也有同样的情况,我选择了你提到的手动方法.B'因为它让我对自动方法有了更多的控制。
但是,如果您愿意,可以使用 DropCreateDatabaseAlways 策略。是的,它会创建新的数据库。这意味着将重新接种所有PK
值。您只能在& #39;在开发环境中重新开发应用程序。