ソース ( aDataRow
または a 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;
}
しかし、変換により日付がわずかに変更されているように見えるため、テストは常に失敗します。
このメソッドが間違って変換される理由を知っている人はいますか?
メソッドの最後で、 への変換でSqlDateTime
丸めが行われているように見えます。
value.Value.Ticks: 634698391707468296
sqlValue.Value.Ticks: 634698391707470000