Odpowiedź na przepełnienie stosu plus jego dalsze komentarze zasadniczo odpowiadają, że nie jest możliwe zrobienie tego, co próbuję zrobić (przynajmniej nie bez tworzenia i wykonywania dynamicznego SQL), z powodu ograniczeń w bazowej bazie danych.
Nie jest to więc ograniczenie Npgsql, a obejścia sugerowane w drugiej odpowiedzi można zastosować również w Npgsql. Możesz też po prostu żyć z interpolacją łańcucha do SQL, który choć w pewien sposób „brzydki” (przynajmniej w moich oczach), jest w rzeczywistości całkowicie bezpieczny.
(W TYM PRZYPADKU - ale interpolacja wartości bezpośrednio do SQL jest ogólnie ZŁYM pomysłem, bez co najmniej drugiej i trzeciej myśli o tym, dlaczego i czy nawet w danym ograniczonym przypadku użycia jest NAPRAWDĘ bezpieczny przed atakami wstrzykiwania we wszystkich możliwych okolicznościach. )