From cdf4ae0607e106e765c797b5397e2a25312d8dc7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 25 Apr 2025 11:21:15 +0800 Subject: [PATCH] Add SelectIF --- .../QueryableProvider/QueryableProvider02-05.cs | 15 +++++++++++++++ Src/Asp.Net/SqlSugar/Interface/IQueryable.cs | 2 ++ 2 files changed, 17 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider02-05.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider02-05.cs index a6ab33371..72253c5d9 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider02-05.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider02-05.cs @@ -1835,6 +1835,14 @@ namespace SqlSugar } return _Select(expression); } + + public virtual ISugarQueryable SelectIF(bool condition, Expression> trueSelectExpression, Expression> falseSelectExpression) + { + if (condition) + return Select(trueSelectExpression); + else + return Select(falseSelectExpression); + } public ISugarQueryable Select(Expression> expression) { if (IsAppendNavColumns()) @@ -2647,6 +2655,13 @@ namespace SqlSugar return this.Select(sql); } + public virtual ISugarQueryable SelectIF(bool condition, Expression> trueSelectExpression, Expression> falseSelectExpression) + { + if (condition) + return Select(trueSelectExpression); + else + return Select(falseSelectExpression); + } public ISugarQueryable Select(Expression> expression) { if (IsAppendNavColumns()) diff --git a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs index 3335a6327..c6d16f206 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs @@ -670,6 +670,7 @@ namespace SqlSugar ISugarQueryable Select(Expression> expression); ISugarQueryable Select(Expression> expression); ISugarQueryable Select(Expression> expression); + ISugarQueryable SelectIF(bool condition, Expression> trueSelectExpression, Expression> falseSelectExpression); ISugarQueryable Select(Expression> expression, bool isAutoFill); #endregion @@ -821,6 +822,7 @@ namespace SqlSugar #endregion #region Select + ISugarQueryable SelectIF(bool condition, Expression> trueSelectExpression, Expression> falseSelectExpression); ISugarQueryable Select(Expression> expression); ISugarQueryable Select(Expression> expression); ISugarQueryable Select(Expression> expression);