Обнаружено «System.Data.Entity.Infrastructure.DbUpdateException» при вставке записи родительской таблицы. - PullRequest
0 голосов
/ 11 февраля 2019

См. Следующую схему двух связанных таблиц, которые были созданы с использованием подхода Code-First Entity Framework.

TableA:

Table A schema screenshot

TableB:

Table B schema screenshot

Обратите внимание, что TableB имеет обязательную ссылку внешнего ключа на TableA.

Ниже приведен код репозитория, который я использовал для выполнения операции вставки в таблицу A.

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()
    ......
    ......
}

Любая идея, полезная для выяснения этой странной / неожиданной / непринятой ошибки, будет очень признательна.

Для информации, это проект веб-API, и я использую Postman для тестирования его выполнения.Удивительно, но мне удалось вставить ту же запись с помощью SQL-запроса, но я столкнулся с ошибкой при использовании API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...