title: Fluent NHibernate Join Table not on primary Key
body: <p>I'm trying to join two tables from DB but I need to join them on specified columns (not on keys).
  Tables look like:</p>
  
  <pre><code>EmplTable: Id, EmplId, FirstName, LastName
  LoginTable: Id, EmplLoginId, Login
  </code></pre>
  
  <p>Domain object Employee:</p>
  
  <pre><code>public class Employee
  {
      public virtual int Id { get; set; }
      public virtual String FirstName { get; set; }
      public virtual String LastName { get; set; }
      public virtual String Login { get; set; }
  }
  </code></pre>
  
  <p>My Mapping looks like:</p>
  
  <pre><code>public EmployeeMap()
  {
      Table("EmplTable");
      Id(x =&gt; x.Id).Column("Id");
      Map(x =&gt; x.FirstName).Column("FirstName");
      Map(x =&gt; x.LastName).Column("LastName");
      Join("LoginTable", m =&gt;
      {
          m.Fetch.Join();
          m.KeyColumn("EmplId");
          m.Map(t =&gt; t.Login).Column("Login");
      });
  }
  </code></pre>
  
  <p>What I'm trying to do is join tables on <strong>EmplTable.EmplId=LoginTable.EmplLoginId</strong>
  How can I change Join column from <strong>Id</strong> to <strong>EmplId</strong></p>