title: Dapper multi mapping two properties of the same type
body: <p>Let's say I have contacts stored in my database in a flattened form, such that I query them like this:</p>
  
  <pre><code>SELECT Name, HomeHouseNumber, HomePostcode, WorkHouseNumber, WorkPostcode FROM Contacts
  </code></pre>
  
  <p>I would like a little more structure in my C# code and have this simple definition of a contact with a home and work address.</p>
  
  <pre><code>class Address
  {
      public string HouseNumber { get; set; }
      public string Postcode { get; set; }
  }
  
  class Contact
  {
      public string Name { get; set; }
      public Address HomeAddress { get; set; }
      public Address WorkAddress { get; set; }
  }
  </code></pre>
  
  <p>I've found I can use multi mapping do extract the home address by aliasing the columns in the select like this:</p>
  
  <pre><code>IEnumerable&lt;Contact&gt; GetContacts()
  {
      return Connection.Query&lt;Contact, Address, Address, Contact&gt;(
          "SELECT Name, HomeHouseNumber as HouseNumber, HomePostcode as Postcode, WorkHouseNumber, WorkPostcode FROM Contacts",
          (contact, home, work) =&gt;
          {
              contact.HomeAddress = home;
              contact.WorkAddress = work;
              return contact;
          },
          splitOn: "HouseNumber,WorkHouseNumber");
  }
  </code></pre>
  
  <p>However I cannot alias the work address columns in such a way that they will be mapped.  Can Dapper perform this mapping for me or must I do it manually?</p>