title: QueryOver using an ignored property
body: <p>I have two entities:</p>
  
  <pre><code>public class Parent
  {
      public virtual int Id { get; set; }
  }
  
  public class Child
  {
      public virtual int Id { get; set; }
      public virtual int ParentId 
      { 
          get
          {
              if (Parent != null)
                  return Parent.Id;
              return -1;
          }
  
          set
          {
              if (Parent != null)
                  Parent = new Parent();
              Parent.Id = value;
          } 
      }
  
      protected virtual Parent Parent
      {
          get;
          set;
      }
  }
  </code></pre>
  
  <p>The <code>Parent</code> property is set up like this to simplify the API side, and I do not want to change it to expose this property publicly.  I have an override of the mappings for the <code>Child</code> class to accommodate this:</p>
  
  <pre><code>public class ChildMappingOverrides : IAutoMappingOverride&lt;Child&gt;
  {
      public void Override(AutoMapping&lt;Child&gt; mapping)
      {
          mapping.References&lt;Parent&gt;(Reveal.Member&lt;Child&gt;("Parent")).Column("Parent_id");
          mapping.IgnoreProperty(x =&gt; x.ParentId);
      }
  }
  </code></pre>
  
  <p>Now, if I want to query all the <code>Child</code> objects for a given parent Id, I would perform this:</p>
  
  <pre><code>session.QueryOver&lt;Child&gt;().Where(c =&gt; c.ParentId == 1);
  </code></pre>
  
  <p>However, this throws a <code>QueryException</code>:</p>
  
  <blockquote>
    <p>could not resolve property: ParentId of: My.Namespace.Child</p>
  </blockquote>
  
  <p>How can I retrieve the set of <code>Child</code> objects that have a particular <code>Parent</code> Id?</p>