Сценарии - Взаимодействие с Json

Page / - Изменено Alexandr Fokin в 2024/12/07 13:55

Взаимодействие с Json

Изменено Alexandr Fokin

в 2024/12/07 13:55

Оглавление

JSON, Тип данных Json
Индексация	Can JSONB GIN indexes be specified in CodeFirst EntityFramework with NPGSQL? https://stackoverflow.com/questions/54618858/can-jsonb-gin-indexes-be-specified-in-codefirst-entityframework-with-npgsql
Маппинг типов	Тип столбца и свойства JSON Mapping https://www.npgsql.org/efcore/mapping/json.html?tabs=data-annotations%2Cpoco System. Text. Json Позволяет использовать JsonDocument и JsonElement. JsonDocument dispose JsonDocument является IDisposable. 1) Вызываем Dispose в setter для предыдущего значения. 2) Делаем сущность Disposable и строим отчистку через жизненный цикл DbContext и его dispose. Использовать JsonElement. Форматирование при записи в БД. Проблема указания параметров форматирования, с которыми будет выполняться чтение и запись json столбца. Serialization options for System.Text.Json support https://github.com/npgsql/efcore.pg/issues/1107 XO.EntityFrameworkCore.NpgsqlJsonSerializerOptions https://www.nuget.org/packages/XO.EntityFrameworkCore.NpgsqlJsonSerializerOptions/ Простое решение Реализовать кастомный ValueConverter<JsonElement, string>ValueConverter<JsonElement, string>string>, определив в нем JsonSerializerOptionsJsonSerializerOptions Решение через маппинг ADO NpgsqlConnection.GlobalTypeMapper.Mappings https://github.com/npgsql/efcore.pg/issues/1107#issuecomment-552182608 6.0.0 https://github.com/npgsql/efcore.pg/issues/1107#issuecomment-945126627