Click here to Skip to main content
13,248,562 members (85,322 online)
Rate this:
Please Sign up or sign in to vote.
See more:
Hello everyone

just a quick question I have a javascript client implementation for WCF data services currently where I am required to do partial data updates due to the complexity of the model. I have successfully implemented the Data Services MERGE operation and it seems to work correctly for everything except complex Types. When a merge operation is performed a new instance of the complex type is initialized, the changed values are set correctly but the values that were not affected are reset to default values (because the complex type is re-instantiated). Is there anyway to prevent this behavior within the service?

basically if you have the following EntityModel exposed

class EntityModel
  public int Id {get; set;}
  public ComplexObject Obj {get; set;}
class ComplexObject()
  public string A {get; set;}
  public string B {get; set;}
  public string C {get; set;}

and i do a merge request changing the value of only the B property within the Obj property of my Entity.

    requestUri: baseUrl + '(' + model.Id + ')',
    method: "MERGE",
    data: { Id: model.Id, Obj: { B : 'Foo'  }  }
function () {
function (err) {

How do i ensure the A and C properties maintain their original values ?

Thank You
Posted 10-Jan-12 8:20am
Updated 10-Jan-12 10:17am
killabyte 8-Feb-12 20:32pm
when you change the complex object in your Entity Model do you set the EntityState.Modified on said entity model?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web04 | 2.8.171114.1 | Last Updated 10 Jan 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100