Comments (1)
The general guidance I've been following for years is, navigation properties only flow in one direction from the aggregate root to its children. Children then only have id references back to the aggregate root. The origins of this guidance were in fact at least in part due to common limitations with both ORM and Serialization libraries that would often blow up or otherwise misbehave if loops were present in the object graph (such as Schedule -> Appointment -> Schedule).
That said, while I still think it helps simplify aggregate generally, if you find that it's beneficial to include a navigation property in a child back to the parent, and there are no negative consequences in your app from doing so, then by all means do it. It's probably something I should revisit with the latest versions of .NET and EF Core, too, and see if the reasons for the original guidance are less relevant now.
from pluralsight-ddd-fundamentals.
Related Issues (20)
- Add Dependabot
- Add continuous code security and quality analysis
- Add Social Card Image HOT 1
- Diagram: Mind Map with Specification HOT 1
- Consolidate current pipelines into a single pipeline with additional features
- ValueObject to Implement IEquatable<ValueObject> HOT 1
- Telerik credentials are in source control HOT 1
- api/clients is blocked by CORS policy HOT 6
- Unable to use Schedule app. HOT 6
- Version with the todos completed HOT 1
- Delete Appointment endpoint is not deleting appointments HOT 2
- The docker-compose file is incorrect because no version tag. HOT 1
- Using Docker Cannot open database "PluralsightDDD.ClinicManagement" requested by the login. The login failed. HOT 1
- SharedKernel project is not a SharedKernel HOT 2
- Needs to Update after DotNet Conf 2022
- can't delete/update doctors and rooms HOT 1
- Appointments not showing in calendar HOT 5
- Appointments not showing in Schedule [June 2023] HOT 4
- Error NU1101 Unable to find package Pluralsight.DDD.Deps. No packages exist with this id in source(s) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pluralsight-ddd-fundamentals.