@@ -498,5 +498,80 @@ class BeginEdit01
498498 public Guid Id { get ; set ; }
499499 public string Name { get ; set ; }
500500 }
501+
502+ [ Fact ]
503+ public void UpdateBit ( )
504+ {
505+ var fsql = g . sqlserver ;
506+
507+ fsql . Delete < ts_repo_update_bit > ( ) . Where ( "1=1" ) . ExecuteAffrows ( ) ;
508+ var id = fsql . Insert ( new ts_repo_update_bit ( ) ) . ExecuteIdentity ( ) ;
509+ Assert . True ( id > 0 ) ;
510+ var repo = fsql . GetRepository < ts_repo_update_bit > ( ) ;
511+ var item = repo . Select . WhereDynamic ( id ) . First ( ) ;
512+ Assert . Equal ( item . id , id ) ;
513+ Assert . False ( item . bool_val ) ;
514+
515+ item . bool_val = true ;
516+ repo . Update ( item ) ;
517+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
518+ Assert . Equal ( item . id , id ) ;
519+ Assert . True ( item . bool_val ) ;
520+
521+ item . bool_val = false ;
522+ repo . Update ( item ) ;
523+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
524+ Assert . Equal ( item . id , id ) ;
525+ Assert . False ( item . bool_val ) ;
526+
527+ item . bool_val = false ;
528+ repo . Update ( item ) ;
529+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
530+ Assert . Equal ( item . id , id ) ;
531+ Assert . False ( item . bool_val ) ;
532+
533+
534+
535+ item . bool_val = true ;
536+ repo . InsertOrUpdate ( item ) ;
537+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
538+ Assert . Equal ( item . id , id ) ;
539+ Assert . True ( item . bool_val ) ;
540+
541+ item . bool_val = false ;
542+ repo . InsertOrUpdate ( item ) ;
543+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
544+ Assert . Equal ( item . id , id ) ;
545+ Assert . False ( item . bool_val ) ;
546+
547+ item . bool_val = false ;
548+ repo . InsertOrUpdate ( item ) ;
549+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
550+ Assert . Equal ( item . id , id ) ;
551+ Assert . False ( item . bool_val ) ;
552+
553+
554+
555+ repo . InsertOrUpdate ( new ts_repo_update_bit { id = item . id , bool_val = true } ) ;
556+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
557+ Assert . Equal ( item . id , id ) ;
558+ Assert . True ( item . bool_val ) ;
559+
560+ repo . InsertOrUpdate ( new ts_repo_update_bit { id = item . id , bool_val = false } ) ;
561+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
562+ Assert . Equal ( item . id , id ) ;
563+ Assert . False ( item . bool_val ) ;
564+
565+ repo . InsertOrUpdate ( new ts_repo_update_bit { id = item . id , bool_val = false } ) ;
566+ item = repo . Select . WhereDynamic ( id ) . First ( ) ;
567+ Assert . Equal ( item . id , id ) ;
568+ Assert . False ( item . bool_val ) ;
569+ }
570+ class ts_repo_update_bit
571+ {
572+ [ Column ( IsIdentity = true ) ]
573+ public int id { get ; set ; }
574+ public bool bool_val { get ; set ; }
575+ }
501576 }
502577}
0 commit comments