Creating, Updating, and Deleting MBO Records

Perform create, update, and delete operations on the MBO instances that you have created.

You can call the Create, Update, and Delete methods for MBO instances.

Note: For MBOs with custom create or update operations with parameters, you should use the custom operations, rather than the default operations. See MBOs with Complex Types.
  1. Suppose you have an MBO named Customer. To create an instance within the database, invoke its Create method, which causes the object to enter a pending state. Then call the MBO instance's SubmitPending method. Finally, synchronize with the generated database:
    Customer newcustomer = new Customer();
    //Set the required fields for the customer
    // …
    
    newcustomer.Create();
    newcustomer.SubmitPending();
    SMP101DB.Synchronize();
  2. To update an existing MBO instance, retrieve the object instance through a query, update its attributes, and invoke its Update method, which causes the object to enter a pending state. Then call the MBO instance's SubmitPending method. Finally, synchronize with the generated database:
    Customer customer = Customer.FindByPrimary(myCustomerId) //find by primary key
    customer.City = "Dublin"; //update any field to a new value
    customer.Update();
    customer.SubmitPending();
    SMP101DB.Synchronize(); 
    
  3. To delete an existing MBO instance, retrieve the object instance through a query and invoke its Delete method, which causes the object to enter a pending state. Then call the MBO instance's SubmitPending method. Finally, synchronize with the generated database:
    Customer newcustomer = new Customer();
    Customer customer = Customer.FindByPrimary(myCustomerId) //find by primary key
    customer.Delete();
    customer.SubmitPending();
    SMP101DB.Synchronize();
    For an object tree with MBOs in a composite (cascading) relationship, SubmitPending submits changes found in the entire hierarchy. If each MBO in the hierarchy has its own CUD operations, the submitted object tree replays in this order:
    • Create and Update: a preorder traversal, for example, parent -> left child -> right child. That is, create the parent before the children.
    • Delete: a postorder traversal, for example, left child ->right child->parent.
    Left and right in this context means from the first child in the children list to the last child. For a tree with multiple operation types, for example, root (update) and two children (one create and one update) and each child has two children, the order of the operation is: root (update), child one(create), children of child one(create), children of child two (delete), child two (delete).
Related reference
Operations APIs