Entity framework 实体框架4.3数据迁移-单种子方法?

Entity framework 实体框架4.3数据迁移-单种子方法?,entity-framework,entity-framework-migrations,Entity Framework,Entity Framework Migrations,我的项目中有多次迁移,每次迁移都会添加许多列。 在每次迁移之后,我希望根据其他已经存在的列将数据填充到列中。 我在一个团队中工作,我们每个人都有一个包含测试数据的本地数据库 当前,配置类中只有一个种子方法 对于一次迁移添加列,可以在seed方法中添加数据,但是对于多个迁移,其中每个迁移都添加列,除非更新seed方法以匹配最近的迁移,否则将无法工作 为什么它们没有包含虚拟或抽象种子方法,以便人们在需要时在DbMigration类中重写?这似乎是一个更好的方法 提前感谢,因为您可以在迁移类的Up方法

我的项目中有多次迁移,每次迁移都会添加许多列。 在每次迁移之后,我希望根据其他已经存在的列将数据填充到列中。 我在一个团队中工作,我们每个人都有一个包含测试数据的本地数据库

当前,配置类中只有一个种子方法

对于一次迁移添加列,可以在seed方法中添加数据,但是对于多个迁移,其中每个迁移都添加列,除非更新seed方法以匹配最近的迁移,否则将无法工作

为什么它们没有包含虚拟或抽象种子方法,以便人们在需要时在DbMigration类中重写?这似乎是一个更好的方法


提前感谢

,因为您可以在迁移类的
Up
方法中直接为数据播种。只要打电话:

Sql("INSERT INTO ... ");
Sql("UPDATE ... ");

Seed
迁移配置中的方法更适合在创建数据库时进行初始数据库种子设定,但当您需要添加或更新整个实体时,也可以将其用于后续种子设定,而不仅仅是初始化列。

我没有想到这一点,但我真的希望能够使用上下文,因为新值有点复杂,并且基于表中已有的数据。也许可以在up中使用ModelDataContext类。我希望这能起作用,而且不会杀死一只小海豹。我认为在迁移中使用上下文是不可能的。这不是我所希望的答案,但我想这是我得到的最接近的答案:)而且我不知道如何从迁移类执行sql。Thanks我也遇到过类似的问题,想将一些数据植入数据库的新创建部分,我还没有找到任何强类型方法来实现这一点,我真的想避免执行SQL语句,但到目前为止,这似乎是唯一的方法。