For returning TimeSpan and TimeOnly we don't want to convert the Jet default datetime to the c# 0

pull/257/head
Christopher Jolly 1 year ago
parent 3bd4232a07
commit a2a4d5c20c

@ -197,17 +197,32 @@ namespace EntityFrameworkCore.Jet.Data
public TimeOnly GetTimeOnly(int ordinal)
{
var value = GetDateTime(ordinal);
return TimeOnly.FromDateTime(value);
var value = _wrappedDataReader.GetValue(ordinal);
if (JetConfiguration.UseDefaultValueOnDBNullConversionError &&
Convert.IsDBNull(value))
return default;
if (value is DateTime dateTime)
{
return TimeOnly.FromDateTime(dateTime);
}
return (TimeOnly)value;
}
public virtual TimeSpan GetTimeSpan(int ordinal)
{
var dateTime = GetDateTime(ordinal);
return JetConfiguration.UseDefaultValueOnDBNullConversionError &&
dateTime == default
? default
: dateTime - JetConfiguration.TimeSpanOffset;
var value = _wrappedDataReader.GetValue(ordinal);
if (JetConfiguration.UseDefaultValueOnDBNullConversionError &&
Convert.IsDBNull(value))
return default;
if (value is DateTime dateTime)
{
return TimeSpan.FromTicks(dateTime.Ticks - JetConfiguration.TimeSpanOffset.Ticks);
}
return (TimeSpan)value;
}
public virtual DateTimeOffset GetDateTimeOffset(int ordinal)

Loading…
Cancel
Save