Странная ошибка с использованием reader.GetGuid (0) с Postgres - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть это утверждение в моей версии MySQL:

Guid id = reader.GetGuid(0);

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

string idText = reader.GetString(0);
Guid id = Guid.Parse(idText);

Это ошибка с Npgsql?

РЕДАКТИРОВАТЬ: эта ошибка выдается:

{System.InvalidCastException: Can't cast database type character to Guid
   at Npgsql.NpgsqlDefaultDataReader.GetFieldValue[T](Int32 column)

1 Ответ

0 голосов
/ 03 сентября 2018

Я не могу проверить, но Npgsql ожидает, что этот столбец будет uuid и, возможно, не поддерживает неявное преобразование из текста. Вы можете прочитать больше об этих типах отображений здесь: https://www.npgsql.org/doc/types/basic.html

...