Сопоставление ICollection со столбцом JSON в EF Core 8C#

Место общения программистов C#
Ответить
Anonymous
 Сопоставление ICollection со столбцом JSON в EF Core 8

Сообщение Anonymous »

Я использую EF Core 8 с адаптером Postgres.
Мне нужно это свойство объекта в формате JSON:

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

public ICollection Messages { get; } = [];
Я попробовал эту конфигурацию:

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

builder.OwnsOne(x => x.Messages, x => x.ToJson());
Это не сработало, поскольку в базе данных было сохранено «{ Емкость: 4 }».
Я попробовал эту конфигурацию:

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

builder.Property(x => x.Messages).HasColumnType("jsonb");
Это вызывает исключение NotSupportedException.
Я пробовал различные другие комбинации и обходные пути.
В течение многих лет, хотя отображение JSON улучшалось, всегда были ошибки или недостатки.
Я знаю, что .NET 9 был выпущен вчера, возможно, с некоторыми улучшениями для коллекций примитивов и строк, но сейчас мы не можем обновиться.
Что работает в .NET 8?
(Документация находится здесь и здесь.)

Подробнее здесь: https://stackoverflow.com/questions/791 ... -ef-core-8
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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