title: Azure Search SDK null field not set on Merge action
body: <p>I'm using Microsoft.Azure.Search version 3.0.1,</p>
  
  <p>I'm trying the following:</p>
  
  <pre><code>// subset of my index's fields
  private class SyncFields
  {   
      public string Id { get; set; }
      public DateTimeOffset? ApprovedOn { get; set; }
      public DateTimeOffset? IgnoredOn { get; set; }
  }
  
  public void Sync()
  {
      var sync = new SyncFields
      {
          Id = "94303",
          ApprovedOn = null,
          IgnoredOn = DateTime.UtcNow
      };
  
      var searchClient = new SearchServiceClient("xxxx",
          new SearchCredentials("xxxx"));
      searchClient.SerializationSettings.NullValueHandling = NullValueHandling.Include;
  
      using (var client = searchClient.Indexes.GetClient("xxxx"))
      {
          client.SerializationSettings.NullValueHandling = NullValueHandling.Include;
          var batch = IndexBatch.Merge&lt;SyncFields&gt;(new[] { sync });
          client.Documents.Index&lt;SyncFields&gt;(batch);
      }
  }
  </code></pre>
  
  <p>This isn't settings <code>ApprovedOn</code> to null. It ignores it. If I set a non-null value, it does set it.</p>
  
  <p>According to the documentation <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/addupdate-or-delete-documents" rel="nofollow noreferrer">here</a> the merge operation updates the field to be null. And in fact, if I make this Http post request manually with JSON, this is true. But the SDK isn't updating the field(s) to null. What am I missing?</p>