title: ADO.NET DateTime sql parameter lose accuracy
body: <p>I am trying to delete records with ADO.NET for SQL Server, of which there is a sql command with the <code>DateTime</code> type parameter. </p>
  
  <pre><code>using (var sqlConnection = new SqlConnection(...))
  {
      var command = sqlConnection.CreateCommand();
      command.CommandText = string.Format("DELETE FROM [{0}] WHERE UtcTimeStamp=@UtcTimeStamp", ...);
      command.Parameters.Add(new SqlParameter("@UtcTimeStamp", DbType.DateTime2) { Value = exactTime });
      sqlConnection.Open();
      command.ExecuteNonQuery();
  }
  </code></pre>
  
  <p>When I pass the <code>exactTime</code> for example <code>2014-12-22 04:53:21.9690398</code>, meanwhile I checked the database, the record with this <code>UtcTimeStamp</code> value exists, but the record would not be deleted after I execute my code.</p>
  
  <p>I checked the Sql Profier, found the <code>UtcTimeStamp</code> parameter in sql command was parsed to <code>2014-12-22 04:53:21.970</code>, I think that's why my code doesn't work.</p>
  
  <p>So, how can I force the parsed <code>UtcTimeStamp</code> use the exactly same accuracy with the input?</p>