c# - Dapper 是否支持 sql_variant DataType
问题描述
我正在使用的 Sql Server 架构将sql_variant
DataType 作为Table Type Parameter
Column 的一部分。还有非 TVP 参数是sql_variant
. 对于 TVP 参数,我使用了以下链接中提供的选项:
https://stackoverflow.com/a/52736573/1559611
它已经使用List<SqlDataRecord>
了,可以添加到 中DynamicParameters
,因为AsTableValuedParameter()
它有一个扩展方法IEnumerable<SqlDataRecord>
。
在尝试上述选项之前,我尝试将一个object
和string
类型映射到sql_variant
TVP 列,但这会导致异常。
现在我想弄清楚:
- 如何为 Dapper 映射非 TVP 参数,因为我没有看到类似的选项,在这种情况下
SqlDataRecord
,简单object
类型是否有效? - 当返回集合包含变量类型的列时,它会映射到一个
object
类型吗?
如果 Dapper 不支持,我唯一的选择是切换回 SqlClient,它确实对 Sql_Variant 数据类型有明确的支持,而 Dapper 似乎并非如此,因为它使用DbType
没有明确的 Variant 数据类型
对这些案例有任何帮助或指示吗?