File tree 3 files changed +16
-0
lines changed
src/Microsoft.Data.SqlClient
netcore/src/Microsoft/Data/SqlClient
netfx/src/Microsoft/Data/SqlClient
tests/ManualTests/SQL/DataReaderTest
3 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -625,6 +625,10 @@ internal SqlBinary SqlBinary
625
625
{
626
626
if ( StorageType . SqlBinary == _type )
627
627
{
628
+ if ( IsNull )
629
+ {
630
+ return SqlBinary . Null ;
631
+ }
628
632
return ( SqlBinary ) _object ;
629
633
}
630
634
return ( SqlBinary ) SqlValue ; // anything else we haven't thought of goes through boxing.
Original file line number Diff line number Diff line change @@ -607,6 +607,10 @@ internal SqlBinary SqlBinary
607
607
{
608
608
if ( StorageType . SqlBinary == _type )
609
609
{
610
+ if ( IsNull )
611
+ {
612
+ return SqlBinary . Null ;
613
+ }
610
614
return ( SqlBinary ) _object ;
611
615
}
612
616
return ( SqlBinary ) SqlValue ; // anything else we haven't thought of goes through boxing.
Original file line number Diff line number Diff line change @@ -282,6 +282,14 @@ public static void CheckNullRowVersionIsBDNull()
282
282
Assert . IsType < DBNull > ( result ) ;
283
283
Assert . Equal ( result , reader . GetFieldValue < DBNull > ( 0 ) ) ;
284
284
Assert . Throws < SqlNullValueException > ( ( ) => reader . GetFieldValue < byte [ ] > ( 0 ) ) ;
285
+
286
+ SqlBinary binary = reader . GetSqlBinary ( 0 ) ;
287
+ Assert . True ( binary . IsNull ) ;
288
+
289
+ SqlBytes bytes = reader . GetSqlBytes ( 0 ) ;
290
+ Assert . True ( bytes . IsNull ) ;
291
+ Assert . Null ( bytes . Buffer ) ;
292
+
285
293
}
286
294
finally
287
295
{
You can’t perform that action at this time.
0 commit comments