Храните разнообразную структуру JSON в одном столбце базы данных SQL Server с помощью Entity Framework Core 9.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Храните разнообразную структуру JSON в одном столбце базы данных SQL Server с помощью Entity Framework Core 9.

Сообщение Anonymous »

Я пытаюсь сохранить данные в столбце таблицы базы данных SQL Server 2019+ в формате JSON с помощью Entity Framework Core 9.
В этом столбце должен храниться список объектов разных типов, которые имеют некоторые общие свойства и другие свойства, специфичные для объекта.
Я использую интерфейс для определения общих свойств, однако на данный момент Entity Framework Core не поддерживает сущности из интерфейсов .
Как я могу структурируйте классы и наследование, чтобы иметь возможность хранить данные JSON следующей структуры в столбце базы данных.
[
{
"common_field_1":"value 1",
"commonField_2":"value 2"
},
{
"common_field_1":"value 1s",
"commonField_2":"Value 2 s",
"custom_field_o2" : "Object type2 custom field"
},
{
"common_field_1":"value 1 th",
"commonField_2":"Value 2 th",
"custom_field_o3":[
"Option 1",
"Option 2"
]
}
]

Я хочу воспользоваться преимуществами поддержки JSON в EF Core 7+. Я не хочу использовать резервное поле, которое я могу хранить и извлекать в формате JSON вручную.
Сейчас я пытаюсь сделать что-то вроде этого:public interface ICommonProperties
{
string common_field_1 { get; set; }
string commonField_2 { get; set; }
}

public class BaseClass : ICommonProperties
{
public string common_field_1 { get; set; }
public string commonField_2 { get; set; }
}

public class ConcreteClass2 : BaseClass
{
public string custom_field_o2 { get; set; }
}

public class ConcreteClass3 : BaseClass
{
public List custom_field_o3 { get; set; }
}

public class EntityObject
{
//... other fields
public List DynamicJson { get; set; } // ICommonProperties doesn't work here
}


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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