title: Dapper Multi-mapping Issue
body: <p>Keep running into "When using the multi-mapping APIs ensure you set the splitOn param if you have keys other than Id" error for the below code-block:</p>
  
  <pre><code>var accounts = DbConnection.Query&lt;Account, Branch, Application, Account&gt;(
              "select Accounts.*, SplitAccount = '', Branches.*, SplitBranch = '', Applications.*" +
              " from Accounts" +
              "    join Branches" +
              "       on Accounts.BranchId = Branches.BranchId" +
              "    join Applications" +
              "       on Accounts.ApplicationId = Applications.ApplicationId" +
              " where Accounts.AccountId &lt;&gt; 0",
              (account, branch, application) =&gt;
                  {
                      account.Branch = branch;
                      account.Application = application;
                      return account;
                  }, splitOn : "SplitAccount, SplitBranch"
              ).AsQueryable();
  </code></pre>
  
  <p>I'm using SplitAccount and SplitBranch for splitOn as a workaround.</p>
  
  <p>Em I missing something?</p>
  
  <p>Thanks</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>I have cleaned up my test a little, below is a light version of classes and a new query:</p>
  
  <pre><code>public class AccountLight
  {
      public int AccountId { get; set; }
      public string AccountNumber { get; set; }
      public BranchLight Branch { get; set; }
      public ApplicationLight Application { get; set; }
  }
  
  public class BranchLight
  {
      public int BranchId { get; set; }
      public string BranchNumber { get; set; }
  }
  
  public class ApplicationLight
  {
      public int ApplicationId { get; set; }
      public string ApplicationCode { get; set; }
  }
  
  var accounts2 = DbConnection.Query&lt;AccountLight, BranchLight, ApplicationLight, AccountLight&gt;(
      "select Accounts.AccountId, Accounts.AccountNumber," +
      "       Branches.BranchId, Branches.BranchNumber," +
      "       Applications.ApplicationId, Applications.ApplicationCode" +
      " from Accounts" +
      "    inner join Branches" +
      "       on Accounts.BranchId = Branches.BranchId" +
      "    inner join Applications" +
      "       on Accounts.ApplicationId = Applications.ApplicationId" +
      " where Accounts.AccountId &lt;&gt; 0",
      (account, brach, application) =&gt;
      {
          account.Branch = brach;
          account.Application = application;
          return account;
      }, 
      commandType: CommandType.Text,
      splitOn: "AccountId, BranchId"
      ).AsQueryable();
  </code></pre>