title: Dapper MultiMap doesn't work with splitOn with NULL value
body: <p>I have a problem with MultiMaps in dapper trying to split on column that contains <code>NULL</code>. Dapper seems not to instantiate object and my mapping function receives <code>null</code> instead of object.</p>
  
  <p>Here's my new test:</p>
  
  <pre><code>    class Product
      {
          public int Id { get; set; }
          public string Name { get; set; }
          public Category Category { get; set; }
      }
      class Category
      {
          public int Id { get; set; }
          public string Name { get; set; }
          public string Description { get; set; }
      }
      public void TestMultiMapWithSplitWithNullValue()
      {
          var sql = @"select 1 as id, 'abc' as name, NULL as description, 'def' as name";
          var product = connection.Query&lt;Product, Category, Product&gt;(sql, (prod, cat) =&gt;
          {
              prod.Category = cat;
              return prod;
          }, splitOn: "description").First();
          // assertions
          product.Id.IsEqualTo(1);
          product.Name.IsEqualTo("abc");
          product.Category.IsNotNull();
          product.Category.Id.IsEqualTo(0);
          product.Category.Name.IsEqualTo("def");
          product.Category.Description.IsNull();
      }
  </code></pre>
  
  <p><strong>The line that fails is <code>product.Category.IsNotNull();</code> due to the fact that <code>cat</code> passed to mapping function is <code>null</code>.</strong></p>
  
  <p>I've also added this method to Assert class:</p>
  
  <pre><code>public static void IsNotNull(this object obj)
  {
      if (obj == null)
      {
          throw new ApplicationException("Expected not null");
      }
  }
  </code></pre>