我已经找到了一种方便的方法来在给定列名的情况下读取OraclaDataReader中的列。目前,我使用的是:
int integer = (int)reader["Column1"];
int? nullableInt = reader.IsDBNull("Column2") ? null : (int?) reader["Column2"];
我的问题是:是不是可以创建一个通用的扩展方法来处理所有这些麻烦?像reader.ReadInteger(" Column"),这样的东西也可用于可空类型?
答案 0 :(得分:0)
是的,扩展类应该这样做。 https://msdn.microsoft.com/en-us/library/bb311042.aspx 但是当你连续1000次这样做时,这并不是很快。
internal static class OraclaDataReaderExtension
{
public static T Read<T>(this OraclaDataReader dbReader, string columnName)
{
return dbReader.IsDBNull(columnName) ? default(T) : (T)dbReader[columnName];
}
}