Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementer cascading update av DDD aggregater #161

Closed
Tracked by #29
MagnusSandgren opened this issue Sep 4, 2023 · 0 comments
Closed
Tracked by #29

Implementer cascading update av DDD aggregater #161

MagnusSandgren opened this issue Sep 4, 2023 · 0 comments
Assignees

Comments

@MagnusSandgren
Copy link
Collaborator

MagnusSandgren commented Sep 4, 2023

Dersom man oppdaterer en del av aggregatet, skal IUpdatableEntity.UpdatedAt og IVersionableEntity.ETag endringen oppdateres oppover i aggregatet. Eksempelvis dersom man oppdaterer en dialog elements url (DialogElementUrl), så skal IUpdatableEntity.UpdatedAt og IVersionableEntity.ETag også oppdaters på DialogElement og DialogEntity, dersom entitetene implementerer disse interfacene.

2 forslag til implementering:

  1. Sett UpdatedAt og ETag manuelt i CommandHandleren(e). Dersom man gjør det kan verken UpdatedAt eller ETag være grunnlag for endring i UnitOfWork.SaveChangesAsync hvilket det er i dag gjennom _dialogDbContext.ChangeTracker.HasChanges.
  2. Bruk EF sin owned types funksjonalitet og traverser owned hierarkiet for endrede entiteter. Dette unngår problematikken med det forrige forslaget fordi endringene vil gjøres etter sjekken i UnitOfWork og rett før det lagres til basen. Men bruken av owned types har konsekvenser for hvordan man integrerer seg med hele dialog aggregatet gjennom EF.
@MagnusSandgren MagnusSandgren converted this from a draft issue Sep 4, 2023
@oskogstad oskogstad self-assigned this Oct 2, 2023
oskogstad added a commit that referenced this issue Oct 2, 2023
…161)

Cascading updates

* Handles cascading updates
* JsonPaths dropped for now
* Creating separate events for DialogElements

---------

Co-authored-by: Magnus Sandgren <[email protected]>
@elsand elsand added this to the PoC ferdig utviklet milestone Oct 3, 2023
@elsand elsand closed this as completed Oct 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants