Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The aggregate Person consists of the entities Person and Job, but the definition only contains Person. Aggregate functionality automatically creates, reads, updates and deletes all entities that are connected to the entitiy entity that is defined in the aggregate definition.

...

Version management is enabled in the create, update and delete service so multiple version of an aggregate are available, as shown in the aggregate list below.

Image Modified

Shown is one aggregate about Tom Barman who - at first - has one job. In version 1 his name was misspelled, so this was corrected in version 2. At one point, Tom had another job, this is effectuated in version 3, the current version of the aggregate.

As can be seen in the example project, custom metadata fields can be definied defined for an aggregate. In the person example, the custom metadata fields FullName, Age and NrOfJobs have been added to the person aggregate. The first is a concatenation of two existing attributes, the second is a plain attribute and the third custom metadata field is a calculation of the jobs attached to the person entity.

...

The course aggregate only consist of the entity Course, which is a non-singleton. This means that it is possible to save more than one course in such an aggregate. An exposed flow CourseManagement is available to manage course aggregates, as shown below.

Image Modified

A course has a duration in number of days and a price in euros. Custom metadata fields have been defined within the course aggregate to summerize summarize the number of days and the prize and count the number of courses for each course aggregate. Version has been disabled in this part of the example, so only the latest version of each aggregate is available.

...