Сохранить универсальное комплексное свойство как сериализованный столбец, используя Entity Framework - PullRequest
0 голосов
/ 01 декабря 2018

Если у меня есть модель, подобная приведенной ниже, как я могу сохранить ее в базе данных, чтобы общее комплексное свойство было представлено в виде одного текстового столбца?

public class Tracker<T> : BaseModel where T : BaseModel
{
    public T Model { get; set; }
}

Я видел примеры с неуниверсальные сложные типы, но ни один с универсальными типами.

1 Ответ

0 голосов
/ 02 декабря 2018

Всякий раз, когда вы хотите, чтобы сложный (не скалярный) тип хранился в одном столбце, вам необходимо обеспечить пользовательское преобразование типа .NET в тип и формат хранения (например, сериализовать объект в строку и сохранить в NVarchar).(максимум) столбец).

В EF 6 вы делаете это с помощью свойства NotMapped , которое читает и записывает свойство сопоставленной строки.

В EF Core вы можете избежать использования двух свойств, используя Значение преобразования .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...