title: NHibernate InvalidProxyTypeException
body: <p>I get this NHhiberante when verifying my Fluent Mappings</p>
  
  <blockquote>
    <p>FluentNHibernate.Cfg.FluentConfigurationException
    : An invalid or incomplete
    configuration was used while creating
    a SessionFactory. Check
    PotentialReasons collection, and
    InnerException for more detail.</p>
    
    <p>---->
    NHibernate.InvalidProxyTypeException :
    The following types may not be used as
    proxies: Domain.Address: method
    Equals should be 'public/protected
    virtual' or 'protected internal
    virtual' Domain.Person: method
    Equals should be 'public/protected
    virtual' or 'protected internal
    virtual' TearDown :
    System.NullReferenceException : Object
    reference not set to an instance of an
    object.</p>
  </blockquote>
  
  <p>I Tried making my Equals method virtual however I just end up getting this error</p>
  
  <blockquote>
    <p>System.ApplicationException : For
    property 'AddressPerson' expected
    'Domain.Person' of type
    'Domain.Person' but got
    'PersonProxy5ce0cdda11ac4829a4f038c9f7944213'
    of type 'Domain.Person'</p>
  </blockquote>
  
  <p>I am confused does anyone know what exactly is going on here?</p>
  
  <p>Edit: It looks like you cant override : Equals(Person person) for IEquatable Not sure why this confuses NHibernate however?</p>