使用Npgsql V3.0.3.0向数据库表添加新记录时,遇到了一个问题:该表中有一列的类型为OID,在.NET中应该映射为
UInt32
。但当执行插入命令时,会抛出以下异常:"This .NET type is not supported in Npgsql or your PostgreSQL: System.UInt32"。异常中的堆栈跟踪信息如下:at Npgsql.TypeHandlerRegistry.get_Item(Type type)
at Npgsql.TypeHandlerRegistry.get_Item(Object value)
at Npgsql.NpgsqlParameter.ResolveHandler(TypeHandlerRegistry registry)
at Npgsql.NpgsqlParameter.Bind(TypeHandlerRegistry registry)
at Npgsql.NpgsqlCommand.ValidateAndCreateMessages(CommandBehavior behavior)
at Npgsql.NpgsqlCommand.ExecuteNonQueryInternal()
at Npgsql.NpgsqlCommand.ExecuteNonQuery
DataReader
的 GetSchemaTable
方法显示该表的 OID 列的 "数据类型" 为 UInt32
。