Created two small helper methods for re-used functionality
Updated some comments
Create method IsKeyIdentical()
Made cast implicit
Rewrote AttachCyclicNavigationProperty, changed signature to take an IObjectContextAdapter
Simplified logic in UpdateEntityRecursive
Inverted if
Reload now also attaches the entity if it isn't already attached
Rewrote GetKeysFor as GetPrimaryKeyFieldsFor
Refactored FindEntityMatching
Moved some methods to extensions region
Introduced classes for the different types of members
Added Update() to AMember and implemented it for the RootMember
Rename
Renamed namespace
Replaced overload with default parameter
RootEntity now handles root entities regardless if a mapping exists or not
moved RecursiveGraphUpdate, introduced base classes for entities/collections
moved entity/collection updates to the respective types
inlined EntityFrameworkIncludeHelper in RootEntity
moved FindMatchingEntity to RootEntity