Versions Compared

Key

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

...

For more information on the relation between these aggregate concepts, see Aggregate.
For more information on persistency management design see also Persistency Management guide.

Contents of the example project

The example project Career consists of two parts. The first part is about a single person and his jobs. The second part is deals with a non-singleton entity Course.

Person aggregate

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 entity that is defined in the aggregate definition.

...

As can be seen in the example project, custom metadata fields can be 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.

CourseGroup aggregate

The course group aggregate only consist of the entity Course, which is a non-singleton. The create service for the aggregate CourseGroup is defined in such a way, that it is possible to save more than one course in such an aggregate. An exposed flow CourseGroupManagement is available to manage course group aggregates, as shown below.

...