I持っているソースからの日付のプロパティを取得する方法(いずれかDataRow
またはSqlDataReader
):は不正確で
protected SqlDateTime GetSqlDateTimePropertyValue(string propertyName, object source)
{
var objValue = GetPropertyValue(propertyName, source);
var value = objValue == DBNull.Value ? null : (DateTime?)objValue;
var sqlValue = new SqlDateTime();
if (value.HasValue) sqlValue = value.Value;
return sqlValue;
}
が、変換はそのよう少し日付を変更しているように見えます私のテストは常に失敗します。
この方法が間違って変換される理由は誰にも分かりますか? - SQL ServerのDATETIME
は3.33msの精度を持っている - .NETデータ型は、しかし、単一表すことができ
value.Value.Ticks: 634698391707468296
sqlValue.Value.Ticks: 634698391707470000
参照:http://stackoverflow.com/questions/7824766/how-does-sqldatetime-do-its-precision-reduction –