AngularJs, как мне написать запрос на ввод http по идентификатору для двух таблиц, которые связаны внешним ключом?Сущность 6 и веб-API 2 - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть таблица A и таблица B в мс sql.Я написал это следующим образом

    var request = $http({
        method: 'put',
        url: urlBase + '/intervieweeDetails/' + empToUpdate.id,
        data: empToUpdate
    });

    return request;

Даже если я вручную напишу json для таблицы B и добавлю в объект empToUpdate, он всегда выдает исключение

System.InvalidOperationException: 'Присоединение сущностисбой типа «IntervieweeServiceJoin.Models.intervieweeExtra», поскольку другой объект того же типа уже имеет то же значение первичного ключа.Это может произойти при использовании метода «Присоединить» или установке состояния объекта на «Неизменено» или «Изменено», если какие-либо объекты в графе имеют конфликтующие значения ключей.Это может быть потому, что некоторые объекты являются новыми и еще не получили сгенерированные базой данных значения ключей.В этом случае используйте метод «Добавить» или «Добавленный» объект сущности для отслеживания графика, а затем установите состояние не новых объектов в «Неизмененный» или «Измененный», в зависимости от ситуации. '

Является ли мойhttp метод написать?Получение и добавление работают нормально, но я не могу обновить значения вообще

    // PUT: api/intervieweeDetails/5
    [ResponseType(typeof(void))]
    public IHttpActionResult PutintervieweeDetail(int id, intervieweeDetail intervieweeDetail)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        if (id != intervieweeDetail.id)
        {
            return BadRequest();
        }

        db.Entry(intervieweeDetail).State = EntityState.Modified;

        try
        {
            db.SaveChanges();
        }
        catch (DbUpdateConcurrencyException)
        {
            if (!intervieweeDetailExists(id))
            {
                return NotFound();
            }
            else
            {
                throw;
            }
        }

        return StatusCode(HttpStatusCode.NoContent);
    }

Исключение перехвачено в

        db.Entry(intervieweeDetail).State = EntityState.Modified;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...