하나의 데이터베이스가 있고 마이그레이션을 수행해야합니다. 즉 다른 데이터베이스로 데이터를 이동해야합니다. EF를 사용하고 EDO로 클래스를 자동 생성했습니다. 문제는 newDb.SaveChanges()에서 occures 여기 내 코드입니다 : 나는 그것을 실행하면마이그레이션을 수행 할 때 System.Data.Entity.Infrastructure.DbUpdateException을 피하는 방법
var oldDb = new oldBAEntity();
var newDb = new NewDbContextEntities();
var query2 = oldDb.R_ClaimHistory.ToList();
foreach (var sourceObj in query2)
{
ClaimComment targetobj = new ClaimComment();
targetobj.ClaimId = (int)sourceObj.IdClaim;
targetobj.Comment = sourceObj.HistClaimDescription;
targetobj.UserCreated = (int)sourceObj.IdUserCreated;
targetobj.DateCreated = sourceObj.DateCreated;
newDb.ClaimComments.Add(targetobj);
}
newdb.SaveChanges();
,이 오류가 점점 오전 :
System.Data.Entity.Infrastructure.DbUpdateException을
InnerException :
INSERT 문이 FOREIGN KEY 제약 조건 "FK_ClaimComments_Claims \"과 충돌했습니다. 데이터베이스 \ "Toni-Bank-DB \", 테이블 \ "dbo.Claims \", 열 'ID'에서 충돌이 발생했습니다. \ n \ n 명세서가 종료되었습니다.
예, Chris. 나는 30 분 동안 멈춰서 생각했다. 나는이 테이블을 채우는 중임을 알았고 Claims 테이블은 비어 있었기 때문에 첫 번째 Claims 테이블을 채운 다음 ClaimsComments 테이블을 채울 때 오류가 다시 표시되지 않습니다. – Toni