Простое Azure UpdateAsync не работает, но InsertAsync - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть список заказов в Azure Easy Table в службах приложений Azure.

Когда я хочу изменить объект в списке, я изменяю их в приложении, а затем пытаюсь вызвать: await CloudOrders.UpdateAsync(obj);

Однако это вызывает исключение "Неверное имя столбца 'Parm8MinMax4'"

Странно то, что я могу удалить объект, а затем вставить его снова, используя следующий код, и это не выдаетисключение

 await CloudOrders.DeleteAsync(obj);
 obj.Id = Guid.NewGuid().ToString();
 await CloudOrders.InsertAsync(obj);

Это работает, мне просто не нравится, потому что я рискую удалить ордер, а затем что-то не так, вставляя его снова.

Что я делаю не так?

1 Ответ

0 голосов
/ 25 сентября 2018

При отправке запроса insert , ID не должен указываться в данных, передаваемых в экземпляр мобильных приложений Azure.Если запрос на вставку содержит идентификатор, будет выдано MobileServiceInvalidOperationException.

При выполнении запроса update необходимо указать ID , чтобы мобильные приложения AzureЭкземпляр может идентифицировать данные для обновления.Это значение идентификатора хранится в свойстве obj.ID.Если запрос на обновление не содержит идентификатора, экземпляр Azure Mobile Apps не сможет определить, какие данные будут обновлены, и поэтому будет выдан MobileServiceInvalidOperationException.

Для получения дополнительной информации вы можетеобратитесь к этой статье .

...