private static SchemaInfo[] LoadSchema(IDataReader reader) { int fieldCount = reader.FieldCount; var schema = new SchemaInfo[fieldCount]; for (int i = 0; i < fieldCount; i++) { var columnSchema = new SchemaInfo(); columnSchema.ColumnName = reader.GetName(i); columnSchema.ColumnOrdinal = i; columnSchema.DataTypeName = reader.GetDataTypeName(i); columnSchema.FieldType = reader.GetFieldType(i); schema[i] = columnSchema; } return schema; }
// FIXME: this class should actually be reimplemented to be one // of the derived classes of DbDataRecord, which should become // almost abstract. internal DbDataRecordImpl(SchemaInfo[] schema, object[] values) { this.schema = schema; this.values = values; this.fieldCount = values.Length; }