Start Debugging

Тег: json

15 статей · Страница1из2

Как добавить уникальный индекс на JSON-сопоставленное свойство в EF Core 11 (SQL Server и SQLite)
HasIndex(...).IsUnique() на члене ToJson() не обеспечивает уникальность в EF Core 11 RC 1: SQL Server отбрасывает IsUnique, а SQLite индексирует весь документ. Вынесите значение JSON в вычисляемый столбец и поставьте уникальный индекс на него.
Как сериализовать публичные поля, такие как Vector3 и Quaternion, с помощью System.Text.Json
System.Text.Json записывает Vector3 как {}, а Quaternion как {"IsIdentity":false}, потому что эти типы хранят данные в публичных полях. Разбираем, как это исправляют IncludeFields, собственный конвертер, модификатор resolver и генерация исходного кода, с измерениями на .NET 10 и .NET 11 RC 1.
Как атомарно добавить элемент в массив jsonb в PostgreSQL с EF Core и Npgsql
Загрузка сущности, вызов List.Add и сохранение перезаписывают весь документ jsonb и незаметно теряют параллельные добавления. Перенесите добавление в один UPDATE с оператором jsonb ||, через ExecuteSqlAsync или через сопоставленную функцию внутри ExecuteUpdateAsync, и сделайте его идемпотентным с помощью проверки @>.
Нативный столбец json или nvarchar(max) для хранения JSON в SQL Server с EF Core 11
Используйте нативный тип json в SQL Server 2025 и Azure SQL: благодаря ему EF Core 11 получает JSON_CONTAINS, типизированный JSON_VALUE, обновление на месте через modify() и JSON-индексы. Оставайтесь на nvarchar(max) для SQL Server 2019/2022, устаревших инструментов или схемы, которую нужно уметь откатить.
Как заставить System.Text.Json игнорировать свойство с модификатором required
[JsonIgnore] на члене с required выбрасывает InvalidOperationException: marked required but does not specify a setter. Почему эти две возможности конфликтуют и четыре способа всё же проигнорировать свойство, измерено на .NET 10.
Как мапить и запрашивать JSON-столбцы в EF Core 11
Сопоставьте вложенный тип с одним JSON-столбцом через ComplexProperty(...).ToJson(), позвольте EF Core 11 хранить его в нативном типе json SQL Server 2025, а затем запрашивайте его с помощью LINQ, который транслируется в JSON_VALUE, JSON_CONTAINS и JSON_PATH_EXISTS.
Вперёд