Как отобразить SQL_VARIANT в Entity Framework Core 2.1? - PullRequest
1 голос
/ 07 мая 2019

В ядре 1.1 я использовал атрибут TypeName = "sql_variant" для свойства, и это сработало.

[Column("tx_value", TypeName = "sql_variant")]
public string Value { get; set; }

Я перешел на ядро ​​2.1, начал возвращать ошибку (Свойство 'EnterpriseDetails.Value' не может быть отображено, поскольку оно имеет тип 'строка', который не является поддерживаемым типом примитива или допустимым типом сущности. Свойство или игнорируйте его, используя атрибут [[NotMapped] »или« EntityTypeBuilder.Ignore »в« OnModelCreating »). Как это решить?

1 Ответ

0 голосов
/ 07 мая 2019

Ваш синтаксис выглядит нормально. Проблема в том, что SQL_VARIANT не отображается напрямую в примитивный тип 'string'. Поскольку данные, которые могут быть заполнены в SQL_VARIANT, сильно изменчивы, вам нужно будет использовать тип object.

[Column("tx_value", TypeName = "sql_variant")]
public object Value { get; set; }

Дополнительная информация о SQL_VARIANT из MS Docs .

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