私は1つのデータベースを持っているので、移行を行う必要があります。つまり、別のデータベースにデータを移動する必要があります。私は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'で競合が発生しました。\ r \ n文が終了しました。
はい、クリス。私は停止し、30分考えました。クレームテーブルが空であることがわかったので、最初のクレームテーブルを記入し、クレームコメントテーブルに記入すると、エラーは再び表示されません – Toni