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);