ASP.NET MVC5 프로젝트에서 EF 코드 첫 마이그레이션을 사용하고 있습니다. 약 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 줄을 넘으며 관리가 다릅니다.
나는 다른 데이터베이스에 저장하거나 스프레드 시트를 엑셀로 저장 한 다음 시드 기능을 사용하여 가져 오기를 원합니다. Seed 메서드 내에서 외부 소스에서 데이터를 가져 오는 방법을 모르겠습니다.
또한 여러 개의 파일로 데이터 세트를 침입하려고하지만 함수를 내가 빌드 오류가 구성 클래스의
SeedProducts(context);
SeedFoods(context);
외부 호출하려고하면 "이름이 아니라 존재 않습니다를 현재 상황 ". (이게 무슨 뜻인지 모르겠다.)
백업 시드 (또는 백업 스크립트)를 저장 한 다음 (새) 시드 함수 내에서 해당 스크립트를 실행하는 것이 좋습니다. 웹 API 또는 검색 엔진에서 "수동으로"설정할 수있는대로 db를 시드 할 수 있습니다. – jpaugh