MS Dynamics CRM 2011 SDK - Update entity record using late-binding
c#, dynamics-crm-2011, sdk
Solution
Try this:
pet["foodtype"] = "Seaweed";
xrm.UpdateObject( pet );
xrm.SaveChanges();
EDIT: `"The context is not currently tracking the 'pet' entity"` means the object you get from `Retrieve` is not attached to the service context. There's a method `Attach` that does just that.
xrm.Attach( pet );
pet["foodtype"] = "Seaweed";
xrm.UpdateObject( pet );
xrm.SaveChanges();
Problem
does anyone know how to save changes to a late-bound entity using the SDK for Dynamics CRM 2011? This is what I've tried: ``` // retrieve and modify a pet... // (This part works) Guid findId = new Guid("6CA57D73-30CC-E111-B155-00505630052F"); ColumnSet attributes = new ColumnSet(new string[] { "name", "foodtype" }); // try to retrieve // (this also works) pet = xrm.Retrieve("pet", findId, attributes); if( pet!=null ) { Console.WriteLine( String.Format( "Retrieved pet {0} successfully!", pet["name"].ToString() )); // update attributes pet["foodtype"] = "Seaweed"; // (from here doesn't seem to work) // save pet xrm.SaveChanges(); Console.WriteLine( "Done!" ); } ``` Thanks for all help :)