如何在Entity Framework Core 2.1中映射SQL_VARIANT?

时间:2019-05-07 18:54:35

标签: c# entity-framework .net-core

在核心1.1中,我在属性上使用了TypeName =“ sql_variant”属性,并且该属性有效。

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

我已经迁移到核心2.1,开始返回错误(无法映射属性'EnterpriseDetails.Value',因为它的类型为'string',而不是受支持的原始类型或有效的实体类型。property ,或使用'[NotMapped]'属性或'OnModelCreating'中的'EntityTypeBuilder.Ignore'忽略它。该如何解决?

1 个答案:

答案 0 :(得分:0)

您的语法看起来不错。问题是SQL_VARIANT不会直接映射到“字符串”原始类型。由于可以在SQL_VARIANT中填充的数据是高度可变的,因此您将需要使用object类型。

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

More information on SQL_VARIANT from MS Docs