SplitError的使用求助 返回

SqlSugar
15 168

var x = db.DataBase.Storageable(entity)

                    .SplitError(info => info.Any(it => it.FACTORY_ID != info.Item.FACTORY_ID), "名称不能重复")

                    .WhereColumns(it => it.FACTORY_NAME)

                    .SplitError(info => info.Any(it => it.FACTORY_ID != info.Item.FACTORY_ID), "编号不能重复")

                    .WhereColumns(it => it.FACTORY_NO)

                    .ToStorage();

                if (x.ErrorList.Any())

                {

                    throw new Exception(x.ErrorList[0].StorageMessage);

                }


问题描述:当FACTORY_NAME重复时,提示“名称不能重复”,

                    当FACTORY_NO重复时,依然提示“名称不能重复”,而不是我设想的 "编号不能重复"

请问:是BUG,还是我没写对?


热忱回答15

  • fate sta fate sta VIP0
    2022/11/25

    代码错误 只有一个whrerecolum

    0 回复
  • fate sta fate sta VIP0
    2022/11/25

    不能有多个

    0 回复
  • 老蛮腰 老蛮腰 VIP0
    2022/11/28

    那我该怎么实现 当FACTORY_NAME重复时,提示“名称不能重复”,当FACTORY_NO重复时,提示“名编号不能重复”,的效果呢?

    只能 这样写2次吗

    var x = db.DataBase.Storageable(entity)

                        .SplitError(info => info.Any(it => it.FACTORY_ID != info.Item.FACTORY_ID), "名称不能重复")

                        .WhereColumns(it => it.FACTORY_NAME)

                        .ToStorage();


    var x = db.DataBase.Storageable(entity)

                        .SplitError(info => info.Any(it => it.FACTORY_ID != info.Item.FACTORY_ID), "编号不能重复")

                        .WhereColumns(it => it.FACTORY_NO)

                        .ToStorage();



    0 回复
  • fate sta fate sta VIP0
    2022/11/28

    x.ErrorList.Count()>0就是有错

    0 回复
  • fate sta fate sta VIP0
    2022/11/28

    如果你只是单表记录的对比可能用 db.Queryable<xx>().Any(xxx) 验证更方便些,多条记录保存可以用  这个

    0 回复
  • 老蛮腰 老蛮腰 VIP0
    2022/11/29

    @fate sta:那怎么写正确呢,怎么能实现我的需求呢

    0 回复
  • fate sta fate sta VIP0
    2022/11/29

    @老蛮腰:不是回答你了吗

    0 回复
  • 老蛮腰 老蛮腰 VIP0
    2022/11/29

    @fate sta:没有啊,我这没显示啊

    image.png


    你是指 db.Queryable<xx>().Any(xxx)这条回复吗? 我不用那个,我想用Storageable啊,你这条回复不是说,也可以用这个吗,也没说不能用这个啊

    0 回复
  • fate sta fate sta VIP0
    2022/11/29

    image.png

    0 回复
  • fate sta fate sta VIP0
    2022/11/29

    高级保存就看X里面的分组

    0 回复
  • 老蛮腰 老蛮腰 VIP0
    2022/11/29

    @fate sta:我知道 x.ErrorList.Count()>0就是有错,,我是说 正确的应该怎么写啊


    怎么实现 当FACTORY_NAME重复时,提示“名称不能重复”,当FACTORY_NO重复时,提示“编号不能重复”,

    0 回复
  • 老蛮腰 老蛮腰 VIP0
    2022/11/29

    你是不是没明白我问的问题啊

    我开头贴代码问问题,你说我whrerecolum 写错了,我就问正确的怎么写,你说 x.ErrorList.Count()>0就是有错,我就不明白了啊,我知道>0有错,我就想知道正确的怎么写啊

    0 回复
  • fate sta fate sta VIP0
    2022/11/29

    你后面不是写对了吗

    0 回复
  • fate sta fate sta VIP0
    2022/11/29

    只有一个wherecolums就是对的

    0 回复
  • 老蛮腰 老蛮腰 VIP0
    2022/11/30

    @fate sta:哦 明白了,只能分2次写是吧

    0 回复