Полиморфизм в рамках Entity Framework Core 9 с столбцом PostgreSQL и JSONBC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Полиморфизм в рамках Entity Framework Core 9 с столбцом PostgreSQL и JSONB

Сообщение Anonymous »

В настоящее время я работаю над таблицей баз данных, которая должна содержать некоторые базовые свойства данных и одно свойство, которое представляет собой столбец jsonb в базе данных, которые могут содержать разные объекты, которые получены из одной базы Класс. Вот пример для сущности: < /p>

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

public class DatabaseEntity
{
public int Id { get; set; }

// This is the jsonb column
public BaseClass DerivedClassProperty { get; set; }
}
И это пример для иерархии классов, которая должна храниться в столбце jsonb объекта:
[JsonPolymorphic]
[JsonDerivedType(typeof(A))]
[JsonDerivedType(typeof(B))]
public class BaseClass
{
public int BaseProperty { get; set; }
}

public class A : BaseClass
{
public int AdditionalProperty { get; set; }
}

public class B : BaseClass
{
public string AnotherProperty { get; set; }
}

< /code>
В EF я добавил объект, определив его таким образом: < /p>
modelBuilder.Entity().ToTable("DatabaseEntity")
.OwnsOne(b => b.Properties, onb => onb.ToJson());
< /code>
Миграции (мы сначала используем код), сгенерирована, таблица базы данных - именно то, что я ожидаю, однако, если я попытаюсь сохранить объект, например, Класс "a" в defivedclassproperty, он сохраняет только свойства базового класса, а не из полученного класса. Pocos для таблиц JSONB в последней версии NPSQL и EF Core 9 (документация NPSQL). < /P>
Я уже пытался использовать Legacy Way, который описан в ссылке на документацию NPGSQL выше , но это также не сработало.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... onb-column
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Полиморфизм в рамках Entity Framework Core 9 с столбцом PostgreSQL и JSONB
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Entity Framework Core PostgreSQL JSONB (обновление одного поля)
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Entity Framework Core PostgreSQL JSONB (обновление одного поля)
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Jsonb.fromJson не десериализует набор, созданный из строки JSON, созданной Jsonb.toJson(objectWithSet).
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Jsonb.fromJson не десериализует набор, созданный из строки JSON, созданной Jsonb.toJson(objectWithSet).
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

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