namespace Domain { public class Contact { public string ContactValue { get; set; } public Contact(string contactValue, Person person, ContactType contactType) { ContactValue = contactValue; Person = person; ContactType = contactType; //when creating a new contact then we add the contact to person and //contactType aswell. so we can get to contact from person and from //contactType. Otherwise Contact has a person and a contactType //for the person but if coming from contactType or person side //then theres nothing. person.Contacts.Add(this); contactType.Contacts.Add(this); } public Person Person { get; set; } public ContactType ContactType { get; set; } } }