Skip to content

Mapping Graphs

Leonardo Porro edited this page Nov 21, 2022 · 36 revisions

Before going deeper in library's behavior, here it is a list of really important terms:

  • Primitive type: A simple, plain type with no members or elements, for example: string, int.

  • Complex type: A type that has a set of members.

  • Collection: An array of elements of any type.

  • Entity: A complex type that has a set of members and a key. Member types can be primitives, or other entities.

  • Key: One or more members that uniquely identifies an instance of an entity.

  • Relationship: The reference between two entities. The type of a member of an entity is another entity.

    • Composition: A relationship where an entity depends on other one to have business meaning. for example: Invoice and InvoiceRow (or InvoiceDetail). Modifying or deleting an entity will modify or delete all the compositions. It's also called Strong relationship.
    • Association: A relationship where both entities have business meaning independently, for example: Invoice and InvoiceType. Modifying or deleting an entity won't modify or delete the associations. It's also called weak relationship.
  • Aggregation: A graph of a root entity with recursive compositions and 1 level associations.