Skip to Content

Where is "update_deep_entity"?


I can find methods in the API's for create_deep_entity via POST, get_expanded_entityset for QUERY and get_expanded_entity for READ.

But I cannot find method update_deep_entity or something like this in any classes or interfaces. Is this correct?



Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    May 01, 2012 at 10:28 PM

    Hi Claus,

    The odata specification does not support a deep update...strange I know, but there are some technical reasons for it. I'll let me development colleagues chime in on that one. That said, in SP4 (due out mid-May) we will support $batch which will allow for similar functionality. For now I suggest you read this info about $batch from the odata website:


    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hello Joby,

      You can update the item level details of a sales order with BATCH operation.

      How To Batch Multiple Operations Into A Single Request

      We cannot update multiple line items of a sales order in a single operation/body like how we fire our create_deep_entity. We cannot update like how we fire deep entity.

      We need to fire multiple operations i.e., multiple update operations for a particular sales order in batch mode in a single request



  • May 04, 2012 at 08:38 AM

    Okay, thanks guys. Much appreciated.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 25, 2013 at 07:23 AM

    Well hi there,

    It's over a year later and this method still has not been implemented.

    Any updates?

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Krishna Kishor Kammaje

      Both of these can be accomplished by $batch, so why subvert the protocol by doing it a non-standard way? Use the tools provided, even if it is a pain at times.

      I agree with Jan, the whole "deep update" idea needs to go away, it's wrong thinking. OData is based on http, wherein you cannot navigate to more than one single entity at a time; the best you can manage is a collection of that entity. If you want associated entities or collections, you need to navigate to them too, probably collecting information along the way. So it seems long-winded because we are used to data contexts that are tightly coupled to the server. However anyone who has used WDA or similar that uses contexts will know how much bloody coding is needed to access a simple attribute 😠 In that context, batching is not really makiig life any harder, it's just relocating the load.

      Trying to emulate another design paradigm is wrong - learn to do it with the current paradigm.