Logo
NeoArc Studio

Shared Property Sets

Define reusable groups of properties that can be applied across multiple entities with live inheritance, auto-apply rules, governance metadata propagation, and validation across all consuming entities. Common patterns like audit fields, soft delete, timestamps, and tenant isolation are defined once and maintained in one place.

In most data models, certain groups of properties appear on nearly every entity. Audit fields such as createdBy, createdDate, modifiedBy, and modifiedDate are repeated across dozens or even hundreds of tables. Soft delete patterns add isDeleted, deletedDate, and deletedBy. Multi-tenancy introduces tenantId. When these properties are defined individually on each entity, a change to the pattern (such as renaming createdDate to createdAt, or adding a new audit field) requires updating every entity manually. Shared property sets solve this by defining these common groups once and applying them to entities with live inheritance.

What are Shared Property Sets?

Common Use Cases

Audit Fields
createdBy, createdDate, modifiedBy, modifiedDate. Applied to every entity that requires audit trailing, maintaining a consistent pattern across the entire model.
Soft Delete
isDeleted flag, deletedDate, and deletedBy. Provides a uniform soft delete pattern so that deletion behaviour is consistent and predictable across all entities.
Timestamps
Standard created, modified, and accessed timestamps with consistent naming, types, and time zone handling applied uniformly to all relevant entities.
Tenant Isolation
tenantId and related multi-tenancy fields such as partitionKey and isolationLevel. Keeps every entity in a multi-tenant system following the same isolation pattern.

Auto-Apply Rules

Manually attaching property sets to every new entity is error-prone. Auto-apply rules handle this automatically based on criteria you define.

Rule TypeExampleEffect
By GroupApply 'Audit Fields' to all entities in the 'Core Domain' groupAny entity placed in the Core Domain group automatically receives audit field properties
By Name PatternApply 'Tenant Isolation' to entities matching '*Order*' or '*Invoice*'Entities whose name contains Order or Invoice receive tenant isolation properties on creation
UniversalApply 'Soft Delete' to all entitiesEvery entity in the model receives soft delete properties. New entities get them automatically

How It Works

Validation Across Consumers

When a shared property set changes, the model validation engine runs checks across all entities that use it. If a property type change introduces incompatibilities with existing database profiles, search profiles, or API serialisation profiles, the validation engine flags these immediately. You see the full impact of a property set change before it propagates, not after.