When using RepoDB in F#, passing Dictionary<string, Object> as an argument to operations does not work.
I think that root cause of the problem lies in method IsDictionaryStringObject where the dictionary object type is compared like this type == StaticType.IDictionaryStringObject.
Library Version:
1.12.7

```F#
let user = Dictionary
patch.FirstName |> Option.iter (fun value -> user.Add("FirstName", value))
patch.LastName |> Option.iter (fun value -> user.Add("LastName", value))
let! updatedRows = connection.UpdateAsync("User", entity = user, where = where)
### `type` data
```text
result = {RuntimeType} System.Collections.Generic.Dictionary`2[System.String,System.Object]
Assembly = {RuntimeAssembly} System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
AssemblyQualifiedName = {string} "System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],…"
Attributes = {TypeAttributes} Public | Serializable | BeforeFieldInit
BaseType = {RuntimeType} System.Object
Cache = RuntimeType.RuntimeTypeCache
CacheIfExists = RuntimeType.RuntimeTypeCache
ContainsGenericParameters = {bool} false
CustomAttributes = {ReadOnlyCollection<CustomAttributeData>} Count = 7
DeclaredConstructors = {ConstructorInfo[]} ConstructorInfo[9]
DeclaredEvents = {EventInfo[]} EventInfo[0]
DeclaredFields = {FieldInfo[]} FieldInfo[10]
DeclaredMembers = {MemberInfo[]} MemberInfo[92]
DeclaredMethods = {MethodInfo[]} MethodInfo[52]
DeclaredNestedTypes = TypeInfo.<get_DeclaredNestedTypes>d__22
DeclaredProperties = {PropertyInfo[]} PropertyInfo[17]
DeclaringMethod = {MethodBase} Exception of type 'System.InvalidOperationException' was thrown
DeclaringType (MemberInfo) = {Type} null
DeclaringType = {Type} null
DomainInitialized = {bool} false
FullName = {string} "System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]"
GUID = {Guid} 1dfc9a85-8221-3436-a970-53bf17d74d39
GenericCache = {object} null
GenericParameterAttributes = {GenericParameterAttributes} Exception of type 'System.InvalidOperationException' was thrown
GenericParameterPosition = {int} Exception of type 'System.InvalidOperationException' was thrown
GenericTypeArguments = {Type[]} Type[2]
GenericTypeParameters = {Type[]} Type[0]
HasElementType = {bool} false
ImplementedInterfaces = {Type[]} Type[10]
IsAbstract = {bool} false
IsAnsiClass = {bool} true
IsArray = {bool} false
IsAutoClass = {bool} false
IsAutoLayout = {bool} true
IsByRef = {bool} false
IsByRefLike = {bool} false
IsCOMObject = {bool} false
IsClass = {bool} true
IsCollectible = {bool} false
IsConstructedGenericType = {bool} true
IsContextful = {bool} false
IsEnum = {bool} false
IsExplicitLayout = {bool} false
IsGenericMethodParameter = {bool} false
IsGenericParameter = {bool} false
IsGenericType = {bool} true
IsGenericTypeDefinition = {bool} false
IsGenericTypeParameter = {bool} false
IsImport = {bool} false
IsInterface = {bool} false
IsLayoutSequential = {bool} false
IsMarshalByRef = {bool} false
IsNested = {bool} false
IsNestedAssembly = {bool} false
IsNestedFamANDAssem = {bool} false
IsNestedFamORAssem = {bool} false
IsNestedFamily = {bool} false
IsNestedPrivate = {bool} false
IsNestedPublic = {bool} false
IsNotPublic = {bool} false
IsPointer = {bool} false
IsPrimitive = {bool} false
IsPublic = {bool} true
IsSZArray = {bool} false
IsSealed = {bool} false
IsSecurityCritical = {bool} true
IsSecuritySafeCritical = {bool} false
IsSecurityTransparent = {bool} false
IsSerializable = {bool} true
IsSignatureType = {bool} false
IsSpecialName = {bool} false
IsTypeDefinition = {bool} false
IsUnicodeClass = {bool} false
IsValueType = {bool} false
IsVariableBoundArray = {bool} false
IsVisible = {bool} true
MemberType (MemberInfo) = {MemberTypes} TypeInfo
MemberType = {MemberTypes} TypeInfo
MetadataToken = {int} 33556451
Module (MemberInfo) = {RuntimeModule} System.Private.CoreLib.dll
Module = {RuntimeModule} System.Private.CoreLib.dll
Name = {string} "Dictionary`2"
Namespace = {string} "System.Collections.Generic"
ReflectedType (MemberInfo) = {Type} null
ReflectedType = {Type} null
StructLayoutAttribute = StructLayoutAttribute
TypeHandle = RuntimeTypeHandle
TypeInitializer = {ConstructorInfo} null
UnderlyingSystemType = {RuntimeType} System.Collections.Generic.Dictionary`2[System.String,System.Object]
m_cache = {IntPtr} 0x272407527b8
m_handle = {IntPtr} 0x7fff5a5ddd30
m_keepalive = {object} null
StaticType.IDictionaryStringObject dataresult = {RuntimeType} System.Collections.Generic.IDictionary`2[System.String,System.Object]
Assembly = {RuntimeAssembly} System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
AssemblyQualifiedName = {string} "System.Collections.Generic.IDictionary`2[[System.String, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]…"
Attributes = {TypeAttributes} Public | ClassSemanticsMask | Interface | Abstract
BaseType = {Type} null
Cache = RuntimeType.RuntimeTypeCache
CacheIfExists = RuntimeType.RuntimeTypeCache
ContainsGenericParameters = {bool} false
CustomAttributes = {ReadOnlyCollection<CustomAttributeData>} Count = 2
DeclaredConstructors = {ConstructorInfo[]} ConstructorInfo[0]
DeclaredEvents = {EventInfo[]} EventInfo[0]
DeclaredFields = {FieldInfo[]} FieldInfo[0]
DeclaredMembers = {MemberInfo[]} MemberInfo[11]
DeclaredMethods = {MethodInfo[]} MethodInfo[8]
DeclaredNestedTypes = TypeInfo.<get_DeclaredNestedTypes>d__22
DeclaredProperties = {PropertyInfo[]} PropertyInfo[3]
DeclaringMethod = {MethodBase} Exception of type 'System.InvalidOperationException' was thrown
DeclaringType (MemberInfo) = {Type} null
DeclaringType = {Type} null
DomainInitialized = {bool} false
FullName = {string} "System.Collections.Generic.IDictionary`2[[System.String, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]"
GUID = {Guid} a799edaa-b36f-31da-9b95-d75be19d1ccc
GenericCache = {object} null
GenericParameterAttributes = {GenericParameterAttributes} Exception of type 'System.InvalidOperationException' was thrown
GenericParameterPosition = {int} Exception of type 'System.InvalidOperationException' was thrown
GenericTypeArguments = {Type[]} Type[2]
GenericTypeParameters = {Type[]} Type[0]
HasElementType = {bool} false
ImplementedInterfaces = {Type[]} Type[3]
IsAbstract = {bool} true
IsAnsiClass = {bool} true
IsArray = {bool} false
IsAutoClass = {bool} false
IsAutoLayout = {bool} true
IsByRef = {bool} false
IsByRefLike = {bool} false
IsCOMObject = {bool} false
IsClass = {bool} false
IsCollectible = {bool} false
IsConstructedGenericType = {bool} true
IsContextful = {bool} false
IsEnum = {bool} false
IsExplicitLayout = {bool} false
IsGenericMethodParameter = {bool} false
IsGenericParameter = {bool} false
IsGenericType = {bool} true
IsGenericTypeDefinition = {bool} false
IsGenericTypeParameter = {bool} false
IsImport = {bool} false
IsInterface = {bool} true
IsLayoutSequential = {bool} false
IsMarshalByRef = {bool} false
IsNested = {bool} false
IsNestedAssembly = {bool} false
IsNestedFamANDAssem = {bool} false
IsNestedFamORAssem = {bool} false
IsNestedFamily = {bool} false
IsNestedPrivate = {bool} false
IsNestedPublic = {bool} false
IsNotPublic = {bool} false
IsPointer = {bool} false
IsPrimitive = {bool} false
IsPublic = {bool} true
IsSZArray = {bool} false
IsSealed = {bool} false
IsSecurityCritical = {bool} true
IsSecuritySafeCritical = {bool} false
IsSecurityTransparent = {bool} false
IsSerializable = {bool} false
IsSignatureType = {bool} false
IsSpecialName = {bool} false
IsTypeDefinition = {bool} false
IsUnicodeClass = {bool} false
IsValueType = {bool} false
IsVariableBoundArray = {bool} false
IsVisible = {bool} true
MemberType (MemberInfo) = {MemberTypes} TypeInfo
MemberType = {MemberTypes} TypeInfo
MetadataToken = {int} 33556467
Module (MemberInfo) = {RuntimeModule} System.Private.CoreLib.dll
Module = {RuntimeModule} System.Private.CoreLib.dll
Name = {string} "IDictionary`2"
Namespace = {string} "System.Collections.Generic"
ReflectedType (MemberInfo) = {Type} null
ReflectedType = {Type} null
StructLayoutAttribute = {StructLayoutAttribute} null
TypeHandle = RuntimeTypeHandle
TypeInitializer = {ConstructorInfo} null
UnderlyingSystemType = {RuntimeType} System.Collections.Generic.IDictionary`2[System.String,System.Object]
m_cache = {IntPtr} 0x272407527b0
m_handle = {IntPtr} 0x7fff5a5de748
m_keepalive = {object} null
TypeExtension.IsDictionaryStringObject() at C:\Users\matej\AppData\Roaming\JetBrains\Rider2020.3\resharper-host\DecompilerCache\decompiler\2B1075D7-B7DF-431E-9AE4-B3722EBBCB1A\56\385aca96\TypeExtension.cs:line 56
DbConnectionExtension.UpdateAsyncInternal<object>() at C:\Users\matej\AppData\Roaming\JetBrains\Rider2020.3\resharper-host\DecompilerCache\decompiler\2B1075D7-B7DF-431E-9AE4-B3722EBBCB1A\0d\fbb91ff4\DbConnectionExtension.cs:line 28113
DbConnectionExtension.UpdateAsync() at C:\Users\matej\AppData\Roaming\JetBrains\Rider2020.3\resharper-host\DecompilerCache\decompiler\2B1075D7-B7DF-431E-9AE4-B3722EBBCB1A\0d\fbb91ff4\DbConnectionExtension.cs:line 28393
...
It seems that Dictionary<string, object> has not been resolved to the IDictionary<string, object>. Do you have the stack trace of the call?
It seems that
Dictionary<string, object>has not been resolved to theIDictionary<string, object>. Do you have the stack trace of the call?
The issue description was updated with the stack trace
The fix for this will be available on the next release of the Core library.