gpt4 book ai didi

c# - Entity Framework : Multiple code first migrations and the configuration seed method

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:27 25 4
gpt4 key购买 nike

我正在使用 Entity Framework 代码优先迁移向表中添加一列。我读过您可以在 Configuration.cs 中使用 Seed 方法,它会在运行 update-database 时播种数据。如果您有多个迁移,这是如何工作的?一次迁移可能需要播种一些数据,而另一次迁移可能需要播种其他数据。配置文件中只有一个Seed方法。当您添加更多迁移时,您如何防止 Entity Framework 在将来多次播种相同的数据?是不是直接删除配置文件中Seed方法的内容?

最佳答案

我知道这有点晚了,但我遇到了这个答案并且对它不满意。经过一番修改后,这里有一个替代解决方案。

运行以下命令:

add-migration YourSchemaMigration
update-database
add-migration YourDataMigration

这应该搭建并应用您的架构更改,然后第二个添加迁移调用应该为您搭建一个空迁移。不要使用迁移来添加或删除字段或表,而是在其中打开一个 DbContext 并开始删除数据

public partial class YourDataMigration : DbMigration 
{
public override void Up()
{
// Importing from CSV
using(db = new FooDbContext())
ImportUtil.ImportFoos(db, "initial_foo_data.csv"));
}

public override void Down()
{
// Nothing!
}

}

关于c# - Entity Framework : Multiple code first migrations and the configuration seed method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856906/

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