Cascade requires that application models managed by Cascade inherit from a SuperModel base class. Here's how to use SuperModel to define your models. SuperModel has special functionality that requires the following patterns to be followed.
To create a Cascade-compatible model, inherit from the SuperModel class:
When defining properties in your model, the GetProperty<T>() and SetProperty(value) methods provided by SuperModel must be used to support special functionality of SuperModel and Cascade.
Cascade-managed models require a property with the [CascadeId] attribute. Theoretically, any value type could work, but only string, int and long have been tested.
The property names of your model should typically match exactly (including casing and any underscores) the property names from your server API (ignore the C# Style Guide property name capitalisation here).
Due to the rules of C# and special functionality of Cascade, your models can either :
eg.