我正在使用带有ASP.NET MVC5项目的EF Code First Migration。我想用约5000条记录为数据库播种。 asp.net网站和博客上的例子在配置方法中都有种子功能。EF迁移使用大型数据集播种
internal sealed class Configuration : DbMigrationsConfiguration<foo.ApplicationDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
MigrationsDirectory = @"Migrations\ApplicationDbContext";
}
protected override void Seed(foo.ApplicationDbContext context)
{
SeedProducts(context);
SeedFoods(context);
// This method will be called after migrating to the latest version.
// You can use the DbSet<T>.AddOrUpdate() helper extension method
// to avoid creating duplicate seed data. E.g.
//
// context.People.AddOrUpdate(
// p => p.FullName,
// new Person { FullName = "Andrew Peters" },
// new Person { FullName = "Brice Lambson" },
// new Person { FullName = "Rowan Miller" }
// );
//
}
}
在使用EF迁移时种子大数据集有哪些选项?
目前配置文件长度超过5000行,管理方式不同。
我宁愿将它们存储在另一个数据库或Excel电子表格中,然后使用种子函数导入它们。我不知道如何在Seed方法中从外部源导入数据。
我也试图打破了数据集分成几个文件,但是当我尝试调用函数
SeedProducts(context);
SeedFoods(context);
外的配置类,我收到了生成错误的:“这个名字并不存在于当前情境“。 (我不知道这是什么意思?
为什么不最初种子数据库(因为你已经有一个工作种子功能),然后保存一个备份(或备份脚本),然后运行(新)种子函数内该脚本?您可以尽快从Web API或搜索引擎获取数据库,因为您可以“手动”。 – jpaugh 2014-09-06 02:49:18