DbContext extension methods for Entity Framework Code First, that allow you to save an entire detached Model/Entity, with child Entities and Lists, to the database without writing the code to do it.
This version is for EF6+. If you would like to use the project on EF(4.3,5.0) see this branch https://github.com/refactorthis/GraphDiff/tree/EF4-5.
Please see the initial post @ http://blog.brentmckendrick.com/introducing-graphdiff-for-entity-framework-code-first-allowing-automated-updates-of-a-graph-of-detached-entities/ for more information.
Nuget package is at http://nuget.org/packages/RefactorThis.GraphDiff/
- Merge an entire graph of detached entities to the database using DbContext.UpdateGraph();
- Ensures concurrency is maintained for all child entities in the graph
- Allows for different configuration mappings to ensure that only changes within the defined graph are persisted
- Comprehensive testing suite to cover many (un/)common scenarios.
- Fluent API style mapping of aggregates on bootstrapping
- Retrieve an aggregate from the database without specifying include expressions
- Define the aggregate using attributes on the models
- Allow for the initial db query to be performed as multiple queries where needed (too many includes, etc)
- Rewrite of graph traversal code and rewrite of tests to cover more scenarios.
- multiple bug fixes
Brent McKendrick, Andreas Pelzer
See the LICENSE file for license rights and limitations (MIT).