Relatude Help

Interfaces are the model

A node type can be an interface, a class, a record or a struct. No attribute is needed: every type in a namespace you register becomes a node type unless it is marked [Exclude]. [Node] only tunes a type (see stable type ids below), so most types in this manual do without it.

Interfaces are the recommended default, and this manual uses them almost everywhere. An interface on its own is a complete node type. db.Create<IVenue>() returns a generated proxy that implements it, tracks your changes and loads relations lazily. You never write a class.

Interfaces also give you multiple inheritance: every interface a node type implements becomes a parent node type, and a C# type can implement many interfaces but inherit only one class. §2 shows how to use this.