我有一个数据库,我需要进行迁移,换句话说,我需要将数据移至另一个数据库。我使用过EF,并使用EDO自动生成了类。问题发生在newDb.SaveChanges(),这是我的代码:
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该语句已终止。
当Claims.ID不存在(或不匹配)时,您似乎正在尝试插入新的ClaimComment。
您将需要重新排序代码,以确保所有FK都存在,然后再尝试添加定义了约束的记录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句