需求提议,可付费,急需 返回

SqlSugar 老数据
27 512
该叫什么   发布于2023/5/19
悬赏:5 飞吻

List<ProductStock> list=new List<ProductStock>();

list.add(new ProductStock(){StockNumber=1,Id=5});

list.add(new ProductStock(){StockNumber=2,Id=6});

list.add(new ProductStock(){StockNumber=3,Id=8});

批量根据ID对应修改StockNumber数据,但是StockNumber需要+=或者-=,不能直接替换数据


热忱回答27

  • fate sta fate sta VIP0
    2023/5/19
    List<ProductStock> list=new List<ProductStock>();
    list.add(new ProductStock(){StockNumber=1,Id=5});
    list.add(new ProductStock(){StockNumber=2,Id=6});
    list.add(new ProductStock(){StockNumber=3,Id=8});
     
    db.Updateable(list).ReSetValue(it=> { it.StockNumber= it.StockNumber+ 1;}).ExecuteCommand()


    0 回复
  • fate sta fate sta VIP0
    2023/5/19

    如果想要数据库字段+1不是list中的值+1可以看 更新文档1.9

    0 回复
  •     VIP0
    2023/5/19

    @fate sta:但是这个+1不是固定1,是list里的StockNumber

    0 回复
  • fate sta fate sta VIP0
    2023/5/19

    @ : 上面的代码就是list里面的 StockNumber

    0 回复
  •     VIP0
    2023/5/20

    @fate sta.ReSetValue(it=> { it.StockNumber= it.StockNumber+ 1;})这里面不是进行+1操作了嘛,这个怎么写?直接写StockNumber?.ReSetValue(it=> { it.StockNumber= it.StockNumber+ StockNumber;})这样嘛?

    0 回复
  • fate sta fate sta VIP0
    2023/5/20

    这个需求明白了,周一前发布

    0 回复
  • fate sta fate sta VIP0
    2023/5/20

     你要的是  StockNumber= StockNumber + list里面的当前数量

    0 回复
  •     VIP0
    2023/5/20

    @fate sta:发布了麻烦踹一脚,谢谢

    0 回复
  • fate sta fate sta VIP0
    2023/5/21

     796dd17038f657fa1865442a9b8e5bc.png

    0 回复
  • fate sta fate sta VIP0
    2023/5/21

    预览版本已发布

    0 回复
  •     VIP0
    2023/5/21

    @fate sta:好的,谢谢

    0 回复
  •     VIP0
    2023/5/21

    @fate sta:能否不设置+或者-?整数默认+,如果是负数的话-

    0 回复
  •     VIP0
    2023/5/21

    @fate staimage.png这个有什么问题吗?报错了

    0 回复
  • fate sta fate sta VIP0
    2023/5/21

    @ :要升级最新预览版本

    0 回复
  • fate sta fate sta VIP0
    2023/5/21

    SqlSugarCore 5.1.4.77-preview02


    0 回复
  • fate sta fate sta VIP0
    2023/5/21

    可以是+-%*/

    0 回复
  •     VIP0
    2023/5/22

    @fate sta:预览版要求的framework的版本是多少?现在是4.6.2安装不上去

    0 回复
  • fate sta fate sta VIP0
    2023/5/22

    @ :可以安装 4.6.1就能安装最新

    0 回复
  •     VIP0
    2023/5/22

    @fate staimage.png

    框架是4.6.2的

    0 回复
  • fate sta fate sta VIP0
    2023/5/22

    你可以新建个控制台测试一下,应该是OK的

    0 回复
  • fate sta fate sta VIP0
    2023/5/22

    你安装错了,sqlsugar是framework  sqlsugarcore是.net core

    0 回复
  •     VIP0
    2023/5/22

    @fate sta:这个搞好了,麻烦问下,如果原先业务数据没有主键ID的话,为了不锁整表,除了查出主键ID再做修改外,还有别的方案吗?谢谢

    0 回复
  •     VIP0
    2023/5/22

    @fate sta

     db.db.Updateable(list).

       PublicSetColumns(it => it.StockNumber, "-").UpdateColumns(it => new { it.StockNumber }).ExecuteCommand();

    应该是有bug的,原数量282,it.StockNumber的值为120,修改后的数据为-162,如果第二次修改的话就又变化282了,应该是282-120=162

    0 回复
  • fate sta fate sta VIP0
    2023/5/23

    @ :你先用+来处理,最后多值是负的

    0 回复
  • fate sta fate sta VIP0
    2023/5/23

    这个我近期修复一下

    0 回复
  •     VIP0
    2023/5/23

    @fate sta:把PublicSetColumns(it => it.StockNumber, "-")里的-改+?StockNumber传负数?

    还有上面提到的除了查到id再进行修改外还有别的方案吗

    0 回复
  • fate sta fate sta VIP0
    2023/5/23

    @ :是这个意思 改成+ ,传的值用负的

    0 回复