@@ -166,7 +166,7 @@ public void Can_Update_Only_Blobs()
166
166
{
167
167
db . DropAndCreateTable < SomeBlobs > ( ) ;
168
168
169
- db . Insert ( new SomeBlobs { FirstName = "Bro" , LastName = "Last" } ) ;
169
+ db . Insert ( new SomeBlobs { FirstName = "Bro" , LastName = "Last" } ) ;
170
170
db . Insert ( new SomeBlobs { FirstName = "Sis" , LastName = "Last" } ) ;
171
171
172
172
var existing = db . Select < SomeBlobs > ( p => p . FirstName == "Bro" ) . First ( ) ;
@@ -183,7 +183,7 @@ public void Can_Update_Only_Blobs()
183
183
existing . Blob2 = new byte [ blob2Bytes ] ;
184
184
Buffer . BlockCopy ( blob2Array , 0 , existing . Blob2 , 0 , blob2Bytes ) ;
185
185
186
- db . UpdateOnly ( existing , p => new { p . Blob1 , p . Blob2 , p . FirstName } , r => r . LastName == "Last" && r . FirstName == "Bro" ) ;
186
+ db . UpdateOnly ( existing , p => new { p . Blob1 , p . Blob2 , p . FirstName } , r => r . LastName == "Last" && r . FirstName == "Bro" ) ;
187
187
188
188
var verify = db . Select < SomeBlobs > ( p => p . FirstName == "Bro" ) . First ( ) ;
189
189
@@ -193,6 +193,46 @@ public void Can_Update_Only_Blobs()
193
193
Assert . That ( existing . Blob1 , Is . EquivalentTo ( verify . Blob1 ) ) ;
194
194
Assert . That ( existing . Blob2 , Is . EquivalentTo ( verify . Blob2 ) ) ;
195
195
}
196
+
197
+ public class PocoWithBool
198
+ {
199
+ public int Id { get ; set ; }
200
+ public bool Bool { get ; set ; }
201
+ }
202
+
203
+ public class PocoWithNullableBool
204
+ {
205
+ public int Id { get ; set ; }
206
+ public bool ? Bool { get ; set ; }
207
+ }
208
+
209
+ [ Test ]
210
+ public void Can_UpdateOnly_bool_columns ( )
211
+ {
212
+ using ( var db = OpenDbConnection ( ) )
213
+ {
214
+ db . DropAndCreateTable < PocoWithBool > ( ) ;
215
+
216
+ db . Insert ( new PocoWithBool { Id = 1 , Bool = true } ) ;
217
+ db . UpdateNonDefaults ( new PocoWithBool { Bool = false } , x => x . Id == 1 ) ;
218
+ var row = db . SingleById < PocoWithBool > ( 1 ) ;
219
+ Assert . That ( row . Bool , Is . False ) ;
220
+ }
221
+ }
222
+
223
+ [ Test ]
224
+ public void Can_UpdateOnly_nullable_bool_columns ( )
225
+ {
226
+ using ( var db = OpenDbConnection ( ) )
227
+ {
228
+ db . DropAndCreateTable < PocoWithNullableBool > ( ) ;
229
+
230
+ db . Insert ( new PocoWithNullableBool { Id = 1 , Bool = true } ) ;
231
+ db . UpdateNonDefaults ( new PocoWithNullableBool { Bool = false } , x => x . Id == 1 ) ;
232
+ var row = db . SingleById < PocoWithNullableBool > ( 1 ) ;
233
+ Assert . That ( row . Bool , Is . False ) ;
234
+ }
235
+ }
196
236
}
197
237
198
238
[ CompositeIndex ( "FirstName" , "LastName" ) ]
@@ -205,4 +245,5 @@ public class SomeBlobs
205
245
public byte [ ] Blob1 { get ; set ; }
206
246
public byte [ ] Blob2 { get ; set ; }
207
247
}
248
+
208
249
}
0 commit comments