[SqlSugar]申请扩展方法LeftJoinIF、InnerJoinIF支持传入tableName 返回

SqlSugar 沟通中
16 653
该叫什么 DeZhen 发布于2025/4/23
悬赏:0 飞吻

目前存在需求,判断条件为ture时,增加关联条件,且此时是跨库关联,故需要申请扩展以下两个方法,谢谢。
1、ISugarQueryable<T, T2, T3, T4> LeftJoinIF<T4>(bool isLeftJoin, Expression<Func<T, T2, T3, T4, bool>> joinExpression, string tableName);
2ISugarQueryable<T, T2, T3, T4> InnerJoinIF<T4>(bool isLeftJoin, Expression<Func<T, T2, T3, T4, bool>> joinExpression, string tableName);

热忱回答16

  • fate sta fate sta VIP0
    2025/4/23

    好的。我支持一下

    0 回复
  • DeZhen DeZhen VIP0
    2025/4/23

    @fate sta:感谢大佬

    0 回复
  • fate sta fate sta VIP0
    2025/4/23

    SqlSugarCore 5.1.4.190-preview06


    更新到预览版本加了重载。

    0 回复
  • DeZhen DeZhen VIP0
    2025/4/23

    谢谢大佬

    0 回复
  • DeZhen DeZhen VIP0
    2025/4/23

    @fate sta:可以再加一个SelectIF吗 当有两个LeftJoinIF条件时,需要重命名两个表名,这个时候用Select是无法判断是select哪个表的字段,会出现无法绑定由多个部分组成的标识符。

    0 回复
  • fate sta fate sta VIP0
    2025/4/23

    @DeZhen:select之后会改变类型。不能连续用

    0 回复
  • fate sta fate sta VIP0
    2025/4/23

    我想一下设计,这样应该可以。


    selectIF(

      true: new  class{ },

      false: new class{}

    )

    0 回复
  • fate sta fate sta VIP0
    2025/4/23

    明天给你做一个

    0 回复
  • DeZhen DeZhen VIP0
    2025/4/24

    @fate sta:好的

    0 回复
  • DeZhen DeZhen VIP0
    2025/4/25

    @fate sta:请问一下加上了吗

    0 回复
  • fate sta fate sta VIP0
    2025/4/25

    SqlSugarCore 5.1.4.190-preview14

         var userInfo = db.Queryable<UserInfo001>()
               .SelectIF(true,
                               it => new UserInfo001(){ UserId = 2 }, 
                               it => new UserInfo001() { UserId = 1 })
              .ToList(); ;


    0 回复
  • DeZhen DeZhen VIP0
    2025/4/25

    @fate sta:好的 感谢。

    0 回复
  • Free Free VIP0
    2025/8/8

    @DeZhen:LeftJoinIF selectIf下面如果有很多表关联,你提供的方法好像只能判断一个,如果是4个条件,4个实体咋判断

    0 回复
  • Free Free VIP0
    2025/8/8

    @fate staLeftJoinIF selectIf下面如果有很多表关联,你提供的方法好像只能判断一个,如果是4个条件,4个实体咋判断

    0 回复
  • @fate sta:还是希望能支持 

    selectIF(true,new  class{ })

    这种写法 这样和 连表IF 能对应上

    0 回复
  • @老菜鸟了:有问题独立发贴,描述清楚需求。

    0 回复