diff --git a/src/EFCoreSecondLevelCacheInterceptor/TypeExtensions.cs b/src/EFCoreSecondLevelCacheInterceptor/TypeExtensions.cs
index e392466..7cf0e16 100644
--- a/src/EFCoreSecondLevelCacheInterceptor/TypeExtensions.cs
+++ b/src/EFCoreSecondLevelCacheInterceptor/TypeExtensions.cs
@@ -28,6 +28,11 @@ public static class TypeExtensions
///
public static readonly Type ByteType = typeof(byte);
+ ///
+ /// Cached version of typeof(sbyte)
+ ///
+ public static readonly Type SByteType = typeof(sbyte);
+
///
/// Cached version of typeof(string)
///
@@ -63,6 +68,11 @@ public static class TypeExtensions
///
public static readonly Type ShortType = typeof(short);
+ ///
+ /// Cached version of typeof(ushort)
+ ///
+ public static readonly Type UShortType = typeof(ushort);
+
///
/// Cached version of typeof(int)
///
@@ -112,7 +122,10 @@ public static bool IsArrayOrGenericList(Type? expectedValueType) =>
public static bool IsNumber(Type type) =>
type == UintType || type == IntType ||
type == UlongTYpe || type == LongType ||
- type == ShortType || type == ByteType || type == CharType;
+ type == UShortType || type == ShortType ||
+ type == SByteType || type == ByteType ||
+ type == FloatType || type == DoubleType || type == DecimalType ||
+ type == CharType;
#if NET8_0 || NET7_0 || NET6_0
///
diff --git a/src/Tests/EFCoreSecondLevelCacheInterceptor.UnitTests/EFTableRowsDataReaderTests.cs b/src/Tests/EFCoreSecondLevelCacheInterceptor.UnitTests/EFTableRowsDataReaderTests.cs
index c1952e8..059d814 100644
--- a/src/Tests/EFCoreSecondLevelCacheInterceptor.UnitTests/EFTableRowsDataReaderTests.cs
+++ b/src/Tests/EFCoreSecondLevelCacheInterceptor.UnitTests/EFTableRowsDataReaderTests.cs
@@ -1386,17 +1386,22 @@ public void GetFieldValue_ShouldReturnExpectedTimeSpanValueFromNumber()
public static IEnumerable