ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.6.6 Ilist<T>インタフェースに関する変更

非互換

Fujitsu Enterprise Postgres 16では、Ilist<T>インタフェースを実装することで、今までは任意のリスト型をPostgreSQLの配列として記述することができましたが、その機能を廃止しました。

対処方法

Ilist<T>で型指定したNpgsqlParameter<T>を利用することで同様のことが可能です。

[例]

Fujitsu Enterprise Postgres 15以前の場合
await using var command = new NpgsqlCommand("SELECT $1", conn)
{
    Parameters = { new NpgsqlParameter { Value = new ReadOnlyCollection<int>(new List<int> { 1, 2, 3 }) } }
};
await using var reader = await command.ExecuteReaderAsync();
Fujitsu Enterprise Postgres 16の場合
await using var command = new NpgsqlCommand("SELECT $1", conn)
{
    Parameters = { new NpgsqlParameter<IList<int>> { Value = new ReadOnlyCollection<int>(new List<int> { 1, 2, 3 }) } }
};
await using var reader = await command.ExecuteReaderAsync();