public void InputAndOutputParameters()
{
using (var conn = OpenConnection())
using (var cmd = new NpgsqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = "Select :a + 2 as b, :c - 1 as c";
var b = new NpgsqlParameter { ParameterName = "b", Direction = ParameterDirection.Output };
cmd.Parameters.Add(b);
cmd.Parameters.Add(new NpgsqlParameter("a", 3));
var c = new NpgsqlParameter { ParameterName = "c", Direction = ParameterDirection.InputOutput, Value = 4 };
cmd.Parameters.Add(c);
using (cmd.ExecuteReader())
{
Assert.AreEqual(5, b.Value);
Assert.AreEqual(3, c.Value);
}
}
}