[SqlSugar]申请扩展方法LeftJoinIF、InnerJoinIF支持传入tableName 返回
DeZhen 发布于2025/4/23
目前存在需求,判断条件为ture时,增加关联条件,且此时是跨库关联,故需要申请扩展以下两个方法,谢谢。
1、ISugarQueryable<T, T2, T3, T4> LeftJoinIF<T4>(bool isLeftJoin, Expression<Func<T, T2, T3, T4, bool>> joinExpression, string tableName);
2、ISugarQueryable<T, T2, T3, T4> InnerJoinIF<T4>(bool isLeftJoin, Expression<Func<T, T2, T3, T4, bool>> joinExpression, string tableName);
热忱回答(16)
-
fate sta VIP0
2025/4/23好的。我支持一下
0 回复 -
DeZhen VIP0
2025/4/23@fate sta:感谢大佬
0 回复 -
fate sta VIP0
2025/4/23SqlSugarCore 5.1.4.190-preview06
更新到预览版本加了重载。
0 回复 -
DeZhen VIP0
2025/4/23谢谢大佬
0 回复 -
DeZhen VIP0
2025/4/23@fate sta:可以再加一个SelectIF吗 当有两个LeftJoinIF条件时,需要重命名两个表名,这个时候用Select是无法判断是select哪个表的字段,会出现无法绑定由多个部分组成的标识符。
0 回复 -
fate sta VIP0
2025/4/23@DeZhen:select之后会改变类型。不能连续用
0 回复 -
fate sta VIP0
2025/4/23我想一下设计,这样应该可以。
selectIF(
true: new class{ },
false: new class{}
)
0 回复 -
fate sta VIP0
2025/4/23明天给你做一个
0 回复 -
DeZhen VIP0
2025/4/24@fate sta:好的
0 回复 -
DeZhen VIP0
2025/4/25@fate sta:请问一下加上了吗
0 回复 -
fate sta VIP0
2025/4/25SqlSugarCore 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 VIP0
2025/4/25@fate sta:好的 感谢。
0 回复 -
Free VIP0
2025/8/8@DeZhen:LeftJoinIF selectIf下面如果有很多表关联,你提供的方法好像只能判断一个,如果是4个条件,4个实体咋判断
0 回复 -
Free VIP0
2025/8/8@fate sta:LeftJoinIF selectIf下面如果有很多表关联,你提供的方法好像只能判断一个,如果是4个条件,4个实体咋判断
0 回复 -
老菜鸟了 VIP0
2周前@fate sta:还是希望能支持
selectIF(true,new class{ })
这种写法 这样和 连表IF 能对应上
0 回复 -
fate sta VIP0
2周前@老菜鸟了:有问题独立发贴,描述清楚需求。
0 回复