将 string[][] 与 npgsql 一起使用
Use string[][] with ngpsql
不支持?尝试使用命令参数设置为插入数据时出现异常:
var parameter = ((IDbDataParameter)cmd.Parameters[index]);
var list = (string[][])value;
parameter.Value = list;
有留言
System.NotSupportedException: This .NET type is not supported in Npgsql or your PostgreSQL: System.String[][]
我正在使用 PostgreSQL 9.4 并创建了一个类型为 text[][]
的列。由于 text[]
映射到 string[]
没有任何问题,我看不出二维数组不起作用的原因。
Postgres 中没有数据类型 text[][]
。文档允许指示多个数组维度的语法变体,但在内部,所有这些都映射到适用于任意数量维度的相同(且唯一)数组类型:text[]
。在您的 .net 声明中尝试 string[]
。
你不必相信我的话,自己测试一下:
SELECT pg_typeof(NULL::text[][]) AS type1
, pg_typeof('{a,b}'::text[][]) AS type2
, pg_typeof('{{{a,b},{c,d}}, {{a,b},{c,d}}}'::text[][][][][]) AS type3;
type1 | type2 | type3
--------+--------+--------
text[] | text[] | text[]
相关:
- mapping postgresql text[][] type and Java type
不支持?尝试使用命令参数设置为插入数据时出现异常:
var parameter = ((IDbDataParameter)cmd.Parameters[index]);
var list = (string[][])value;
parameter.Value = list;
有留言
System.NotSupportedException: This .NET type is not supported in Npgsql or your PostgreSQL: System.String[][]
我正在使用 PostgreSQL 9.4 并创建了一个类型为 text[][]
的列。由于 text[]
映射到 string[]
没有任何问题,我看不出二维数组不起作用的原因。
Postgres 中没有数据类型 。文档允许指示多个数组维度的语法变体,但在内部,所有这些都映射到适用于任意数量维度的相同(且唯一)数组类型:text[][]
text[]
。在您的 .net 声明中尝试 string[]
。
你不必相信我的话,自己测试一下:
SELECT pg_typeof(NULL::text[][]) AS type1
, pg_typeof('{a,b}'::text[][]) AS type2
, pg_typeof('{{{a,b},{c,d}}, {{a,b},{c,d}}}'::text[][][][][]) AS type3;
type1 | type2 | type3
--------+--------+--------
text[] | text[] | text[]
相关:
- mapping postgresql text[][] type and Java type