@@ -6,13 +6,13 @@ namespace Apps72.Dev.Data.DbMocker.Data
6
6
{
7
7
public class MockDbDataReader : DbDataReader
8
8
{
9
- private string [ ] _columns ;
9
+ private MockColumn [ ] _columns ;
10
10
private object [ , ] _rows ;
11
11
private int _currentRowIndex = - 1 ;
12
12
13
13
internal MockDbDataReader ( MockTable table )
14
14
{
15
- _columns = table . Columns ?? Array . Empty < string > ( ) ;
15
+ _columns = table . Columns ?? Array . Empty < MockColumn > ( ) ;
16
16
_rows = table . Rows ?? new object [ , ] { } ;
17
17
}
18
18
@@ -59,7 +59,7 @@ public override long GetChars(int ordinal, long dataOffset, char[] buffer, int b
59
59
60
60
public override string GetDataTypeName ( int ordinal )
61
61
{
62
- return _columns [ ordinal ] . GetType ( ) . Name ;
62
+ return _columns [ ordinal ] . Type . Name ;
63
63
}
64
64
65
65
public override DateTime GetDateTime ( int ordinal )
@@ -84,7 +84,10 @@ public override IEnumerator GetEnumerator()
84
84
85
85
public override Type GetFieldType ( int ordinal )
86
86
{
87
- return GetValue ( ordinal ) . GetType ( ) ;
87
+ if ( ordinal < _columns . Length )
88
+ return _columns [ ordinal ] . Type ;
89
+ else
90
+ return GetValue ( ordinal ) . GetType ( ) ;
88
91
}
89
92
90
93
public override float GetFloat ( int ordinal )
@@ -114,14 +117,14 @@ public override long GetInt64(int ordinal)
114
117
115
118
public override string GetName ( int ordinal )
116
119
{
117
- return _columns [ ordinal ] ;
120
+ return _columns [ ordinal ] . Name ;
118
121
}
119
122
120
123
public override int GetOrdinal ( string name )
121
124
{
122
125
for ( int i = 0 ; i < _columns . Length ; i ++ )
123
126
{
124
- if ( String . Compare ( _columns [ i ] , name , ignoreCase : true ) == 0 )
127
+ if ( String . Compare ( _columns [ i ] . Name , name , ignoreCase : true ) == 0 )
125
128
return i ;
126
129
}
127
130
return - 1 ;
0 commit comments