That is a good question. In my case I have Parties that can be related to
other parties via a PartyRelation object. I made a decision to make the
relationships directional, so that one party actually owns the relationship.
In my case it is up to the application to create the link or destory it.
Simply have each object own (contain) a collection of the other object. This
collection could be any .NET collection, such as: an array, ArrayList,
HashTable, or a collection derived from CollectionBase or DictionaryBase.
If you are coming from a database, then the Association Table Mapping
Pattern may be more helpful.