A property of type Biskit must specify the following information:

 

Click to expand

 

Name

Meaning

BiskitDef

Specifies the type of Biskit this property will contain.

Component

Indicates whether the Biskit value is stored as a reference to a Biskit stored somewhere else, or if its properties are stored directly as a component of its owning Biskit. Only used for static properties.

Biskit Property Type

To One, Many To One, Master to Slave or Slave To Master explained below.

Inverse Property

Must be provided when this is a Many To One property, Master to Slave or Slave to Master, in which case this is the name of the property on the parent that points to the child BiskitDef.

Reference Deletion Option

Whether this objects of this Biskit type can be deleted if referenced by other Biskits in the DB. Cascade, No Action, Set null

Biskit Property Type

Value

Meaning

To One

The value of this property will reference a Biskit, but that Biskit will not know anything about us referencing them.

Many To One

The value of this property will reference a Biskit in a child-parent relationship. We are the child, and this property references the parent. The parent will also have a Set or List property that contains its child Biskits using a One To Many property.

With this value of Biskit Property Type, we must also specify the Inverse Property that is the name of the parent's property that contains the children.

Master to Slave

 

 

Slave To Master

When a Biskit  is required which has a large number of properties, ie. in excess of a thousand in SQL, the DB cannot cope with this.

In order to do this create Slave Biskit's, that is Biskits that are created, deleted and referenced with their Master. The Master Biskit would need a property of type Biskit which would point to each Slave and be a Master to Slave type, the Slave would need a property of type Biskit which would point to the Master and be a Slave to Master type. A Master can have many Slaves in order to reference as many properties as needed. The only caveat is that the Primary Key Column Name for any Slave Biskit must be different from the Masters (defaults to id, therefore needs to be changed), and different from any other Slave of that Master. The Inverse Property also needs to be set up in both BiskitDefs.

See Creating a Master-Slave Biskit Relationship example.