title: SqlDateTimeOverflow exception with nullable DateTime fields with Dapper update
body: <p>I have a db table with several DateTime fields with null values. These are mapped to nullable DateTimes in my class.</p>
  
  <p>If I try to perform an update with Dapper, within my data layer:</p>
  
  <pre><code> using (IDbConnection cnn = new SqlConnection(DB.getConString()))
   {
      cnn.Open();
      return cnn.Execute((this.OptionID == 0 ? _insertSQL : _updateSQL), this);              
   }
  </code></pre>
  
  <p>I get a SqlDateTimeOverflow exception (because the DateTime field is '01/01/0001 00:00:00' rather than null.</p>
  
  <p>Is the only way around this to specify each parameter individually and switch the value to null like this:</p>
  
  <pre><code> using (IDbConnection cnn = new SqlConnection(DB.getConString()))
   {
      cnn.Open();
      return cnn.Execute("UPDATE MyTable SET MyDateField = @MyDateField", new {MyDateField = (MyDateField.HasValue? MyDateField : Null), etc etc... );
  </code></pre>
  
  <p>I have about 50 fields in the table so this would be quite a bit of code, plus there is an INSERT method to update similarly too. Is there an easier syntax I am missing?              </p>