Я пытаюсь вставить данные в таблицу, которая имеет отношение к другой таблице, которая, в свою очередь, связана с другой таблицей. При попытке вставить данные в таблицу я получаю исключение
Операция не может быть завершена из-за удаления DbContext
Код:
using (var transaction = _crmContext.Database.BeginTransaction())
{
try
{
if (primaryPersonContact.Id > 0)
{
_crmContext.Entry(primaryPersonContact).State = EntityState.Modified;
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
else
{
customer.Person.Contact2 = _crmContext.Set<Contact>().Add(customer.Person.Contact2);
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
if (primaryPersonContact.Id > 0)
{
_context.Entry(primaryPersonContact).State = EntityState.Modified;
//_crmContext.Entry(customer.Person.Contact2).State = EntityState.Modified;
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
else
{
primaryPersonContact = _crmContext.Set<Contact>().Add(primaryPersonContact);
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
if (primaryContactPerson.Id > 0)
{
_crmContext.Entry(primaryContactPerson).State = EntityState.Modified;
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
else
{
primaryContactPerson.PrimaryContact = primaryPersonContact.Id;// to insert contact table Id to person Table.
primaryContactPerson = _crmContext.Set<Person>().Add(primaryContactPerson);
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
if (customer.Id > 0)
{
_crmContext.Entry(customer).State = EntityState.Modified;
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
else
{
customer.CustomerId = Guid.NewGuid();
customer.PrimaryContact = primaryContactPerson.Id; //To insert primary contact person Id to customer table.
customer = _crmContext.Set<Customer>().Add(customer);
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
}
transaction.Commit();
Ошибка возникает на линии
await _crmContext.SaveChangesAsync().ConfigureAwait(false);
В чем проблема? Что я делаю не так?