gpt4 book ai didi

entity-framework - 如何使用 Entity Framework Database First 方法播种数据?

转载 作者:行者123 更新时间:2023-12-04 07:24:45 25 4
gpt4 key购买 nike

我看到许多使用 Code First 播种的示例,但我不确定我是否了解使用 EF Database First 时播种数据库的惯用方式。

最佳答案

最佳实践非常依赖于情况。然后是 DEV 与 PROD 环境。
在 DEV 期间使用 Drop 和重新创建模型更改时自动播种,因此您拥有测试数据是最有意义的。这是它用得最多的时候。

当然,您可以拥有手动触发的测试方法。我个人认为,当 DB 结构不稳定时,自动触发种子方法的想法对于 DEV 原型(prototype)制作来说并不那么令人兴奋,而且更令人兴奋。使用迁移时,您倾向于保留来之不易的测试数据。有些人在 PROD 的初始安装期间使用 Seeding。其他人将在安装/调试过程中触发特定的加载例程。我喜欢使用自定义加载例程。

编辑:代码第一个示例。使用 DB First,您只需正常写入 Db。

// select the appropriate initializer for your situation eg
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDbContext, MyMigrationConfiguration>());
Context.Database.Initialize(true); // yes now please
//...
public class MyMigrationConfiguration<TContext> : DbMigrationsConfiguration<TContext>
where TContext : DbContext{

public MyMigrationConfiguration() {
AutomaticMigrationsEnabled = true; //fyi options
AutomaticMigrationDataLossAllowed = true; //fyi options
}
public override void Seed(TContext context)
{
base.Seed(context);
// SEED AWAY..... you have the context
}

}

关于entity-framework - 如何使用 Entity Framework Database First 方法播种数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16492048/

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