title: Why is schemaexport generating 2 foreign keys?
body: <p>I'm using fluentnhibernate on SQL Server 2008.  </p>
  
  <p>I have to objects Staff</p>
  
  <pre><code>public class Staff : BaseEntity
  {
      public virtual string UserName { get; set; }
      public virtual string FirstName { get; set; }
      public virtual string LastName { get; set; }
      public virtual string Email { get; set; }
      public virtual bool Active { get; set; }
      public virtual StaffRole StaffRole { get; set; }
  }
  </code></pre>
  
  <p>and StaffRole</p>
  
  <pre><code>public class StaffRole : BaseEntity
  {
      public virtual int RoleId { get; set; }
      public virtual int RoleName { get; set; }
      public virtual IList&lt;Staff&gt; Staffs { get; set; }
  }
  </code></pre>
  
  <p>and mapped them accordingly:</p>
  
  <pre><code>public class StaffRoleMap : ClassMap&lt;StaffRole&gt;
  {
      public StaffRoleMap()
      {
          Id(x =&gt; x.RoleId).Not.Nullable().Length(15);
          Map(x =&gt; x.RoleName).Not.Nullable().Length(75);
          HasMany(x =&gt; x.Staffs);
      }
  }
  public class StaffMap : ClassMap&lt;Staff&gt;
  {
      public StaffMap()
      {
          Id(x =&gt; x.UserName).Not.Nullable().Length(15);
          Map(x =&gt; x.FirstName).Not.Nullable().Length(25);
          Map(x =&gt; x.LastName).Not.Nullable().Length(25);
          Map(x =&gt; x.Email).Not.Nullable().Length(30);
          Map(x =&gt; x.Active).Not.Nullable().Default("1");
          References(x =&gt; x.StaffRole)
              .ForeignKey("FKStaffRole")
              .Column("RoleId")
              .Cascade.None()
              .Not.Nullable()
              ;
      }
  }
  </code></pre>
  
  <p>When i call schemaexport, why is it generating 2 foreign keys for the StaffRole?  I always get <strong>RoleId</strong> and <strong>StaffRole_id</strong>.  RoleId is correct since it is not nullable, but the extra column/fk is nullable.</p>
  
  <p>Am I missing something here?</p>