大数据更新bool false,数据库更新成了null 返回

SqlSugar
16 148
该叫什么 发布于2周前
悬赏:0 飞吻

bool类型字段设置成可空,BulkUpdate方法对象转datatable时bool字段为false时赋值成了DBNull。代码版本: sqlsugar5分支。



image.png

image.png

image.png

image.pngimage.png



热忱回答16

  • 什么数据库

    0 回复
  • , VIP0
    2周前

    @fate sta:mysql 5.7.13

    0 回复
  • @,:是最新版本sqlsugar吗

    0 回复
  • , VIP0
    2周前

    @fate sta:项目上用的sqlsugar 5.1.0版本   ,本地调试是用sqlsugar5分支代码可以重现

    0 回复
  • image.png

    0 回复
  • 测试正常  .net core最新源码

    0 回复
  • 或者你安装预览版本 NUGET   5.1.1 preview 12看看

    0 回复
  • , VIP0
    2周前

    @fate sta:看一下数据库中的值是否是null,table是否设置成了IsNullable = true

    0 回复
  • @,image.png

    0 回复
  • 你数据库是什么类型或者提供一个实体类给我测一下

    0 回复
  • , VIP0
    2周前

    虽然查询出来是false,但是数据存的是null,代码如下。 数据库类型是bit类型

    MySqlTest.zip


    image.png

    image.png

    968CB474-B3E2-4f10-9B76-9F055F8B748B.png

    0 回复
  • 你在拉一下最新的源码测试一下,没问题我我晚点就发布个版本

    0 回复
  • , VIP0
    2周前

    @fate sta

    更新代码后结果有错误

    image.png

    0 回复
  • @fate sta:好像bit 类型进行Bulkcopy怎么存不了 false ,目前只能是null,我这边先研究,你可以先用updateale

    0 回复
  • @fate sta:或者换个类型

    0 回复
  • [SqlSugar.SugarColumn(IsNullable = true, ColumnDataType = "tinyint", Length = 1)]
    public bool? null1 { get; set; }

     用这个类型 ,我测试是OK的

    0 回复