将字符串[] []与ngpsql一起使用

时间:2015-12-16 14:17:15

标签: .net postgresql npgsql

它不受支持?尝试使用命令参数设置为:

插入数据时出现异常
var parameter = ((IDbDataParameter)cmd.Parameters[index]);
var list = (string[][])value;
parameter.Value = list;

留言

  

System.NotSupportedException:Npgsql或PostgreSQL不支持此.NET类型:System.String [] []

我正在使用PostgreSQL 9.4并创建了一个类型为text[][]的列。由于text[]映射到string[]没有任何问题,我无法看到二维数组无效的原因。

1 个答案:

答案 0 :(得分:2)

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[]

相关: