我在Azure App Services的Azure简易表中有一个订单列表。
当我想更改列表中的对象时,可以在应用程序中更改它们,然后尝试调用:await CloudOrders.UpdateAsync(obj);
但是这会引发异常“无效的列名'Parm8MinMax4'”
奇怪的是,我可以删除该对象,然后使用以下代码再次将其插入,并且不会引发异常。
await CloudOrders.DeleteAsync(obj);
obj.Id = Guid.NewGuid().ToString();
await CloudOrders.InsertAsync(obj);
这个方法我不喜欢它,因为我冒着删除订单的风险,然后再次插入时出了点问题。
我在做什么错了?
答案 0 :(得分:0)
发出插入请求时,必须在传递给Azure Mobile Apps实例的数据中不能指定ID 。如果插入请求中包含ID,则会抛出MobileServiceInvalidOperationException
。
发出 update 请求时,必须指定 ID ,以便Azure Mobile Apps实例可以标识要更新的数据。此ID值存储在obj.ID
属性中。如果更新请求不包含ID,则Azure Mobile Apps实例无法确定要更新的数据,因此将抛出MobileServiceInvalidOperationException
。
有关更多详细信息,您可以参考此article。