有没有办法使用Npgsql将hstore输入参数传递给函数。
如果我有INSERT
语句,我可以使用NpgsqlDbType.Text
并将::hstore
附加到参数名称。但是如果命令类型是StoredProcedure,我找不到任何传递hstore的方法。
我假设一个选项可以是SELECT * function_name(...)
,但即使这样可行,我仍然希望StoredProcedure
。
编辑:添加代码。
var command = new NpgsqlCommand("add_info", conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new NpgsqlParameter("p_id", NpgsqlDbType.Integer));
command.Parameters["p_id"].Value = myId;
command.Parameters.Add(new NpgsqlParameter("p_body", NpgsqlDbType.Varchar, 4096));
command.Parameters["p_body"].Value = "Some text";
command.Parameters.Add(new NpgsqlParameter("p_hstore", NpgsqlDbType.Text));
command.Parameters["p_hstore"].Value = "1=>\"test1\", 2=>\"test2\"";
result = command.ExecuteScalar();