См. Следующую схему двух связанных таблиц, которые были созданы с использованием подхода Code-First Entity Framework.
TableA:
TableB:
Обратите внимание, что 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.