title: Is there a rule organizes the relationships between entities
body: <p>I am wondering the there is a rule that organizes the relationship between entities</p>
  
  <p>for example if a have the following two entities </p>
  
  <pre><code>public class Project : IAggregateRoot&lt;long?&gt;, IAccountEntity
  {
  
      protected virtual IList&lt;Phase&gt; Phases { get; set; }
  
  }
  
  public class Phase : IAggregateRoot&lt;long?&gt;, IAccountEntity
  {
  
      public virtual IList&lt;Task&gt; Tasks { get; set; }
  
      [RequiredAspect]
      public virtual Project Project { get; set; }
  }
  </code></pre>
  
  <p>in this example I have a project and <strong>the project has many phases</strong> and at the same time the <strong>phase references the project</strong> and it has many <strong>tasks</strong> and I am wondering if must a phase or task know to which project is related? or must a task know to which phase is related?, or must we specify that the project has many phases if the phase references that project. </p>