title: Disjunction on QueryOver<T> always refers to root entity
body: <p>I'm trying to add a certain numbers of OR conditions using disjunction on X number of entities that implements a certain interface containing date information. My problem is that when the SQL is generated all my disjunction conditions points to the root entity of my QueryOver.</p>
  
  <p>I have created a generic method to add my conditions</p>
  
  <pre><code>    public static QueryOver&lt;T,T2&gt; AddChangedCondition&lt;T,T2&gt;(this QueryOver&lt;T,T2&gt; query, DateTime from, DateTime to, Disjunction disjunction) where T2 : IHaveDate
      {
          if(disjunction == null )
              disjunction = new Disjunction();
  
          disjunction.Add&lt;T2&gt;(k =&gt; (k.DeleteDate &gt; from &amp;&amp; k.DeleteDate  &lt; to)
                  || k.CreatedDate &gt; from
                  || k.UpdatedDate &gt; from);
  
          return query;
      }
  </code></pre>
  
  <p>I want to use it like this:</p>
  
  <pre><code>Disjunction disjunction = null;
  var query = QueryOver.Of&lt;User&gt;()
      .AddChangedCondition(fromDate,toDate, disjunction)
      .JoinQueryOver&lt;Program&gt;(user =&gt; user.Programs)
          .AddChangedCondition(fromDate,toDate, disjunction);
  
  query.Where(disjunction);
  </code></pre>
  
  <p>Sql generated from this will look something along the lines of</p>
  
  <pre><code>select ....
  from User
  where
  (
      (
          this_.raderadDatum &gt; @p1 
          and this_.raderadDatum &lt; @p2
      ) 
      or this_.skapadDatum &gt; @p3 
      or this_.uppdateradDatum &gt; @p4
      )
  or
      (
          this_.raderadDatum &gt; @p1 
          and this_.raderadDatum &lt; @p2
      ) 
      or this_.skapadDatum &gt; @p3 
      or this_.uppdateradDatum &gt; @p4
      )
  </code></pre>
  
  <p>I've tried different solutions using aliases but no success. Would be greatful for any help!</p>