It is pretty common, especially in applications with an ORM, to have a two way mapping between classes. Like this:
public class Product
{
private List
In the past, I've done something like this when I needed to maintain this type of relationship...
public class Owner
{
public List OwnedList { get; set; }
}
public class Owned
{
private Owner _owner;
public Owner ParentOwner
{
get
{
if ( _owner == null )
_owner = GetParentOwner(); // GetParentOwner() can be any method for getting the parent object
return _owner;
}
}
}