我有一个创建负责插入标题/详细信息记录的对象的过程。如果我运行代码自行插入到表中,那么一切都运行良好。但是,当我在循环中将该代码作为单独的类调用时,会出现异常:
System.Data.Entity.Infrastructure.DbUpdateException 未处理
Message=INSERT 语句与 FOREIGN KEY 约束“FK_CAS_ClaimsAdjustment_Header835”冲突。冲突发生在数据库“ERA835DB”、表“dbo.Header835”、列“TRANSACTIONID”中。
表中的TRANSACTIONID
ColumnHeader
设置为Identity=True
。子表CAS_ClaimsAdjustment
有一个TransactionID
FK to列Header.TransactionID
。
为什么DBContext.SaveChanges()
根据调用相同代码的方式似乎表现不同?
foreach (var file in Files)
{
Parser parser = new Parser();
parser.HandleFile(file);
}
public class Parser
{
public void HandleFile(string file)
{
using (Model.DbContext dbcontext)
{
foreach (var itemn in file)
{
Claims claim = new Claims();
// ...
dbcontext.Claims.Add(claim);
}
dbcontext.SaveChanges();
}
}
}