2013-09-06 2 views
2

15 년 된 응용 프로그램을 C#/Entity Framework Code First로 변환하는 중입니다.기존 데이터베이스에서 Entity Framework 시드 메서드 만들기

필자가 필요로하는 테이블 구조에 대한 마이그레이션을 생성 할 수 있었기 때문에 이전 응용 프로그램의 데이터로 채우고 싶습니다. 물론 Management Studio를 사용하여 스크립트를 만들 수도 있지만 가능한 경우 코드 우선을 활용하고 싶습니다.

나는 reverse engineer a database schema이 가능하다는 것을 알았습니다. 데이터베이스의 기존 데이터에서 마이그레이션 또는 시드 메서드를 생성 할 수있는 간단한 방법이 있습니까? 저는 성능에 대해 너무 걱정하지 않습니다. 손으로 다시 만드는 것이 고통스러운 데이터 일 뿐이지 만 수천 줄의 이야기는 아닙니다.

답변

2

성능이 실제로 떨어지기 때문에 Entity Framework 자체를 레코드 삽입/삭제/업데이트에 사용하면 안됩니다. 당신은 파종이 마이그레이션의 일부가되고 싶은 경우에 당신이 포함 할 수 있습니다 당신의 당신의 Seed 방법 내부 SqlCommands : 나는 성능에 대해 너무 걱정하지 않아요

protected override void Seed(Context context) 
{ 
    context.Database.ExecuteSqlCommand("Command Here"); 
} 
base.Seed(context); 
+0

- 그것은 복잡한 충분한 데이터가 손으로 재현하는 고통을 수있어, 그러나 수천 줄의 이야기는 아닙니다. 나는 문자열 리터럴에 모든 것을 넣을 수 있습니다. 그렇다면 정말 최선의 선택입니다. – Hannele

+0

은 현재 SQL Server 데이터베이스에있는 귀하의 데이터입니까? 'Generate Scripts' 기능을 사용할 수 있습니다. – SOfanatic

+0

가장 합리적인 선택입니다. 감사. – Hannele

관련 문제