如何做到不更新空字符串列,而不是NULL列 返回

SqlSugar 老数据
2 523
该叫什么 WenTao 发布于2022/9/21
悬赏:5 飞吻

 1.4 NULL列不更新

注意:不能支持批量 ,因为忽略null之后列数不一样,所以批量需要循环

db.Updateable(insertObj).IgnoreColumns(ignoreAllNullColumns:true).ExecuteCommand();
//更新忽略null字段

这个只能忽略NULL列,如何忽略空字符串 “”呢

热忱回答2

  • fate sta fate sta VIP0
    2022/9/21
    表达式更新方式也支持数据过滤器
    
       
       db.Aop.DataExecuting = (x, p) =>
        {
            if (p.EntityColumnInfo.PropertyName == UpdateTime")
            {
                p.SetValue(DateTime.Now);
            }
        };
        // 将过滤器赋值字段自动加到 SetColumns (特性是主键或者禁止更新无效)
        var sql5=  db.Updateable<Order>()
            .SetColumns(it => new Order()
            {
              Name="A"
     
            },appendColumnsByDataFilter:true).Where(it=>it.Id==1).ToSqlString()
           //set name='a' ,UpdateTime='当前日期'

    你看看这种方式能不能解决你的问题

    0 回复
  • fate sta fate sta VIP0
    2022/9/21

    最新 预览版本支持了表达式更新结合数据过滤器

    0 回复