请参考以下两个相关表的架构,这两个表是使用实体框架的代码优先方法创建的。
TableA:
TableB:
注意,TableB具有对TableA的必需外键引用。
下面是我用于在TableA上执行插入操作的存储库代码。
public int Insert(TableA tableA)
{
context.TableA.Add(tableA);
return (Save() ? tableA.ID : 0);
}
public bool Save()
{
int result = context.SaveChanges();
return ((result > 0) ? true : false);
}
执行时,“ context.SaveChanges()”方法引发以下异常:
{
"Message": "An error has occurred.",
"ExceptionMessage": "Entities in 'Context.TableA' participate in the
'TableB_TableA' relationship. 0 related 'TableB_TableA_Source' were
found. 1 'TableB_TableA_Source' is expected.",
"ExceptionType": "System.Data.Entity.Infrastructure.DbUpdateException",
"StackTrace": " at
System.Data.Entity.Internal.InternalContext.SaveChanges()
......
......
}
任何有助于找出这个奇怪的/意外的/无法接受的错误的想法都会受到赞赏。
有关信息,它是一个Web API项目,我正在使用Postman对其执行进行测试。令人惊讶的是,我通过SQL查询成功插入了相同的记录,但是在使用API时遇到了错误。