Search code examples
silverlight-4.0entitydomainservices

Entity Send to Server Problem


On the client-side I add all related entities (navigation properties) to my main entity and attach it to the list and call SubmitChange. But on the server-side, all related entities are missing!

Code:

Client:

DomainService1 domainService1= new DomainService1();
.
.
.
WorkCode newWorkCode = new WorkCode();
newWorkCode.Date = DateTime.Now;

.
.
.

for(Work item in WorkList)
{
 newWorkCode.Works.Add(item) 
}

.
.
.

domainService1.WorkCodes.Attach(newWorkCode);
domainService1.InsertWorkCode(newWorkCode);     
      dsMaintenance.SubmitChanges(submitOperation =>
      {
        if (!submitOperation.HasError)
        {

        }
      },
            null);

Server:

[Update(UsingCustomMethod = true)]
public void InsertWorkCode(WorkCode workCode)
{
    //////// workCode.Works = 0 ///////////////////

  this.ObjectContext.WorkCodes.AddObject(workCode);            
}

Solution

  • I'm not sure what you are doing here. But if I want to add stuff I do it like this and it works:

    Context = new DomainContext();
    
    var customer = new Customer() { /* ... */ };
    var order = new Order() { Customer = customer, /* ... */ };
    
    Context.Customers.Add(customer);
    Context.Orders.Add(order);
    

    If you like the other approach though, you can do that too like this:

    var customer = new Customer() { /* ... */ };
    var order = new Order { /* ... */ };
    
    customer.Orders.Add(order);
    Context.Customers.Add(customer);
    

    Now you just submit:

    var submitOperation = Context.SubmitChanges();
    submitOperation.Completed += // [...]
    

    Hope this helps.