diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 9cbd3e22c..2014407ec 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -588,6 +588,12 @@ namespace SqlSugar this._Having(expression); return this; } + public virtual ISugarQueryable HavingIF(bool isHaving,Expression> expression) + { + if(isHaving) + this._Having(expression); + return this; + } public virtual ISugarQueryable Having(string whereString, object parameters = null) { @@ -3524,6 +3530,18 @@ namespace SqlSugar #endregion #region GroupBy + public new virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } public new ISugarQueryable GroupBy(Expression> expression) { _GroupBy(expression); @@ -3867,6 +3885,24 @@ namespace SqlSugar base.Having(whereString, whereObj); return this; } + public new virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } #endregion #region Order @@ -4516,6 +4552,31 @@ namespace SqlSugar base.Having(whereString, whereObj); return this; } + + public new virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } #endregion #region Aggr @@ -5075,6 +5136,37 @@ namespace SqlSugar base.Having(whereString, whereObj); return this; } + + public new virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } #endregion #region Aggr @@ -5590,6 +5682,43 @@ namespace SqlSugar base.Having(whereString, whereObj); return this; } + + public new virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } #endregion #region Aggr @@ -6096,6 +6225,48 @@ namespace SqlSugar _OrderBy(expression, type); return this; } + public new virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } + public virtual ISugarQueryable HavingIF(bool isHaving, Expression> expression) + { + if (isHaving) + this._Having(expression); + return this; + } #endregion #region Aggr diff --git a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs index a34f6ba56..40cfb2f1a 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs @@ -58,6 +58,7 @@ namespace SqlSugar ISugarQueryable Where(List conditionalModels); ISugarQueryable Where(List conditionalModels,bool isWrap); ISugarQueryable Having(Expression> expression); + ISugarQueryable HavingIF(bool isHaving,Expression> expression); ISugarQueryable Having(string whereString, object parameters = null); ISugarQueryable WhereIF(bool isWhere, Expression> expression); @@ -247,6 +248,8 @@ namespace SqlSugar new ISugarQueryable Having(Expression> expression); ISugarQueryable Having(Expression> expression); new ISugarQueryable Having(string whereString, object whereObj = null); + new ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); #endregion #region Aggr @@ -346,6 +349,9 @@ namespace SqlSugar ISugarQueryable Having(Expression> expression); ISugarQueryable Having(Expression> expression); new ISugarQueryable Having(string whereString, object parameters = null); + new ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); #endregion #region Aggr @@ -457,6 +463,10 @@ namespace SqlSugar ISugarQueryable Having(Expression> expression); ISugarQueryable Having(Expression> expression); new ISugarQueryable Having(string whereString, object parameters = null); + new ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); #endregion #region Aggr @@ -576,6 +586,11 @@ namespace SqlSugar ISugarQueryable Having(Expression> expression); ISugarQueryable Having(Expression> expression); new ISugarQueryable Having(string whereString, object parameters = null); + new ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); #endregion #region Aggr @@ -690,6 +705,12 @@ namespace SqlSugar ISugarQueryable Having(Expression> expression); ISugarQueryable Having(Expression> expression); new ISugarQueryable Having(string whereString, object parameters = null); + new ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); + ISugarQueryable HavingIF(bool isHaving, Expression> expression); #endregion #region Aggr