0

我正在尝试从 SQL 查询的结果中智能地填充对象。我正在遍历 a 的结果SQLDataReader并使用GetDataTypeName()来获取任何特定字段中保存的数据类型的字符串表示形式。

如何在Type不手动将字符串名称映射到类型的情况下自动获取每个字段的名称。我试过使用:

Type.GetType(reader.GetDataTypeName(), true, true)

(注意,忽略大小写)

但是GetDataTypeName()返回诸如“int”之类的原语字符串,并且对于给定的示例,这些字符串会抛出 TypeLoadExceptions。

我读过GetType()需要一个程序集限定类型名称,因此像 DateTime 这样的非原始系统类型需要使用“System.DateTime”进行限定,但是简单地在“System”命名空间前加上“int”对原始类型没有帮助像这样的类型。

4

1 回答 1

3

这里不需要解析任何东西;只需使用:

Type type = reader.GetFieldType(columnIndex);
于 2013-08-08T13:25:50.977 回答