Delete logic
This is a WorkInProgress description of the NHProjectRepository logic in DS.
...
3) Determin orphan objects by substracting 1 -2 and delete them from the session
4) Flush the session.
EntityWalker and EntityMetaModel
EntityWalker is a class that based on a EntityMetaModel can traverse a object tree. EnityMetaModel describes the relationship between objects and the quality of the relationship (composition vs aggregation). The EntityMetaModel can be determined by looking at NHibernate's configuration and this is done by the NHibernateMetaModelProvider. Using this EMM the EntityWalker can create a set of objects which are reachable from the project root. The EntityWalker