Update
This documentation page is heavily under construction. Various information may be missing. Please report any feedback here.
Cognibase offers a seamless experience for updating data items by editing scalar and reference properties and manipulate reference lists.
1. Editing Properties
Just like with most ORMs, properties of a DataItem
can be directly edited. Once edited, Cognibase will automatically detect these changes, ensuring they are included in the transaction that's sent to the server.
// Read item
var key = DataItemKey.Get<Device>("name");
var device = COM.ReadDataItem(key) as Device;
// set name
device.Name = "new name";
In the example above, the Name
property of the Device
data item is updated to "new name".
2. Managing Reference Properties
For managing reference properties, you can set a new reference or nullify an existing reference, and Cognibase will detect these changes as well.
// Read item
var key = DataItemKey.Get<Device>("name");
var deviceItem = COM.ReadDataItem(key) as Device;
// creating a new instance to be referenced
var manufacturer = COM.createDataItem<Manufacturer>();
anufacturer.Name = "New Manufacturer";
// Setting a new reference
deviceItem.Manufacturer = manufacturer;
// saving item
COM.Save()
...
// Nullifying a reference
deviceItem.Manufacturer = null;
In this scenario, a new Manufacturer
reference is set for the Device
data item, and later, this reference is nullified.
3. Manipulating Reference Lists
Reference lists in Cognibase allow for adding or removing items. These changes are automatically detected.
// Adding an item to a reference list
deviceItem.Components.Add(new Component() { Name = "New Component" });
// Removing an item from a reference list
deviceItem.Components.Remove(specificComponent);
In this example, a new Component
is added to the Components
reference list of the Device
data item, and a specific component is later removed from it.