我有一个包含 xml 列的 SQL Server 数据表。我使用 DataTable
(SqlDataAdapter
类的 Fill
方法)运行选择查询。执行后该列的类型为string
。
我想知道如何根据 Fill
方法具体化的 DataTable
确定实际的 SQL Server 数据类型(在本例中为 xml
) .
我不能使用 SqlDataReader
(它具有返回 SQL Server 数据类型信息的 GetSchemaTable
方法)- 我必须使用 SqlDataAdapter/DataTable
。做类似的事情:
DataTableReader reader = new DataTableReader(table);
DataTable schemaTable = reader.GetSchemaTable();
也没有帮助,因为它似乎也不包含 SQL Server 数据类型信息。
最佳答案
SqlDataAdapter
上有一个名为 ReturnProviderSpecificTypes
的属性,如果您将其设置为 true,则 GetSchemaTable()
应该会告诉您该列是typeof(SqlXml)
而不是 typeof(string)
关于c# - 如何发现 DataColumn 的底层数据类型是 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759695/