나는 대부분의 시간 동안 잘 작동하는 마이 그 레이션 및 시드와 함께 EF 6을 사용합니다. 처음 사용했을 때 파종에 문제가 있습니다.asp.net 코드 첫 번째 마이 그 레이션 시드
내 데이터베이스 (나무 테이블)에 저장된 테이블이 있는데이 도메인 모델에 대한 시작점이므로 시드에 모든 항목을 만들고 추가하여 테이블에 추가합니다. 다른 데이터베이스 테이블에 추가 속성이나 관계를 추가하면 update-database가 훌륭하게 작동하고 새 물건이 데이터베이스에 추가됩니다. 또한 "runnig seeding"이라고 말하지만 기존 테이블을 업데이트하지 않습니다!
context.Tables.AddOrUpdate(newTable);
을 업데이트하기 위해 파종 방법을 강제 할 수있는 방법이 있나요 : 나는 항상 데이터베이스를 삭제하고 내가 사용하는 경우에도 기존 데이터에 새로운 물건을 추가 다시 업데이트 데이터베이스를 실행해야?
다시 시도해보십시오. 시드 방법은 기존 콘텐츠를 업데이트하지 않습니다. 사람을 추가하십시오 :
new Person
{
ID = 1,
Name = "Smith"
}
이제 시딩 방법을 실행하십시오 .e. 그런 다음
new Person
{
ID = 1,
Name = "Smith",
Prename = "John"
}
씨 다시 사람에게 추가 데이터를 추가하고 데이터베이스에 대한 당신의 사람은 업데이트되지 않습니다!
제 해결 방법은 데이터베이스를 삭제하고 다시 시드하는 것입니다. 모델이 변경되지 않으므로 DropAndCreateIfModelChanges가 작동하지 않습니다. 시드 만 변경됩니다.