У меня есть функция, возвращающая json, содержащая метку времени. Когда я выполняю его в pgAdmin, я получаю json типа
{..., "time_created":"2024-05-15T11:14:23.384266+00:00",...}.
Но когда я выполняю ту же функцию на C# с помощью ExecuteScalar, возвращаемое значение похоже на
{..., "time_created":"2024-05-15T09:14:23.384266+02:00",...}
Она ведет себя одинаково, даже если функция возвращает json, преобразованный в текст заранее. Обратите внимание, что временные метки преобразуются в часовой пояс сервера и смещение времени сервера, если оно добавлено. Это невозможно отобразить в элементах управления Quasar без изменений.
Что заставляет ExecuteScalar выполнять преобразование, даже если из функции возвращается текст?Если функция возвращает таблицу, содержащую метку времени, значения возвращаются правильно, а сериализация создает значения в форме, например: "time_created":"2024-05-15T11:14:23.384266Z", который можно нормально отобразить при вводе Quasar.
Есть ли способ заставить все, что конвертирует json, строки при чтении с помощью ExecuteScalar, чтобы сделать это с помощью ...Z?
Функция
create function data_survey_r("Key" integer) returns text language plpgsql as $$
BEGIN
RETURN (SELECT ROW_TO_JSON(t)::text FROM data.survey t WHERE t.id = "Key");
END $$;
или
create function data_survey_r("Key" integer) returns json language plpgsql as $$
BEGIN
RETURN (SELECT ROW_TO_JSON(t) FROM data.survey t WHERE t.id = "Key");
END $$;
Он вызывается из C# как
ret = (string) await connection.ExecuteScalarAsync("data_survey_r", new { Key = key }, commandType: CommandType.StoredProcedure);
Подробнее здесь: https://stackoverflow.com/questions/786 ... l-and-json
Временная метка с C#, Dapper, Npgsql и json ⇐ C#
Место общения программистов C#
-
Anonymous
1719059742
Anonymous
У меня есть функция, возвращающая json, содержащая метку времени. Когда я выполняю его в pgAdmin, я получаю json типа
{..., "time_created":"2024-05-15T11:14:23.384266+00:00",...}.
Но когда я выполняю ту же функцию на C# с помощью ExecuteScalar, возвращаемое значение похоже на
{..., "time_created":"2024-05-15T09:14:23.384266+02:00",...}
Она ведет себя одинаково, даже если функция возвращает json, преобразованный в текст заранее. Обратите внимание, что временные метки преобразуются в часовой пояс сервера и смещение времени сервера, если оно добавлено. Это невозможно отобразить в элементах управления Quasar без изменений.
Что заставляет ExecuteScalar выполнять преобразование, даже если из функции возвращается текст?Если функция возвращает таблицу, содержащую метку времени, значения возвращаются правильно, а сериализация создает значения в форме, например: "time_created":"2024-05-15T11:14:23.384266Z", который можно нормально отобразить при вводе Quasar.
Есть ли способ заставить все, что конвертирует json, строки при чтении с помощью ExecuteScalar, чтобы сделать это с помощью ...Z?
Функция
create function data_survey_r("Key" integer) returns text language plpgsql as $$
BEGIN
RETURN (SELECT ROW_TO_JSON(t)::text FROM data.survey t WHERE t.id = "Key");
END $$;
или
create function data_survey_r("Key" integer) returns json language plpgsql as $$
BEGIN
RETURN (SELECT ROW_TO_JSON(t) FROM data.survey t WHERE t.id = "Key");
END $$;
Он вызывается из C# как
ret = (string) await connection.ExecuteScalarAsync("data_survey_r", new { Key = key }, commandType: CommandType.StoredProcedure);
Подробнее здесь: [url]https://stackoverflow.com/questions/78655822/timestamptz-with-c-dapper-npgsql-and-json[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия