Skip to content

Use layering to make conventions more robust #15898

Open

Description

  • Store different configuration source values in separate layers, so when a higher source value is removed the lower source can be restored without re-running the conventions
  • Use reference counting to avoid scanning the model for unused elements. When a configuration source of an aspect is changed because it is referenced from another element this reference should be stored in a collection, so if all references are removed the aspect can be removed as well or its configuration source downgraded to what it was previously
    • Call StopProcessingIfChanged after every convention automatically
  • When the conventions for an event are done running the current model state should be returned

This should allow to fix these:

  • Remove most invocations on removed members and stop running the conventions when a removed member is readded
  • Remove the implementation of EntityType.IsOwned() or add a convention type for it
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions