Невозможно прочитать данные из хранимой функции Postgres с помощью C#/.Net и Npgsql.C#

Место общения программистов C#
Anonymous
Невозможно прочитать данные из хранимой функции Postgres с помощью C#/.Net и Npgsql.

Сообщение Anonymous »

У меня есть функция Postgres, которая работает в Dbeaver должным образом

Код: Выделить всё

CREATE OR REPLACE FUNCTION public.getallusersv2()
RETURNS SETOF users
LANGUAGE plpgsql
AS $function$

begin
RETURN QUERY
SELECT DISTINCT * FROM users ORDER BY id;
return;
END;
$function$;
Однако при попытке вызвать функцию с помощью Npgsql я не получаю ожидаемого результата.
Вот код, который я использовал для выполнения и чтения данных< /p>

Код: Выделить всё

var cmd = new NpgsqlCommand("SELECT getallusersv2()", conn);
var reader = cmd.ExecuteReader();

Я написал метод, который должен отображать результаты, к которым я возвращаюсь, но я не могу даже зайти так далеко, так как у меня, похоже, нет данных для анализа.
При отладке я заметил следующую ошибку:

Код: Выделить всё

The field 'getallusersv2' has a type currently unknown to Npgsql (OID 16421). You can retrieve it as a string by marking it as unknown, please see the FAQ.
Окно отладки
Но что действительно бросается в глаза, так это то, что, похоже, не возвращаются никакие данные . Вместо этого кажется, что это просто пустой объект, названный в честь вызываемой функции.

Подробнее здесь: https://stackoverflow.com/questions/758 ... net-npgsql

Вернуться в «C#»