插入父表记录时遇到“ System.Data.Entity.Infrastructure.DbUpdateException”

时间:2019-02-10 23:23:44

标签: entity-framework-6 ef-code-first asp.net-web-api2 repository-pattern

请参考以下两个相关表的架构,这两个表是使用实体框架的代码优先方法创建的。

TableA:

Table A schema screenshot

TableB:

Table B schema screenshot

注意,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​​时遇到了错误。

0 个答案:

没有答案