From 0143f31b0a16e25533a9e57fade50f9fb38ad2db Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 7 Oct 2022 22:43:15 +0800 Subject: [PATCH] Add Queryable.InIF --- .../QueryableProvider/QueryableProvider.cs | 32 +++++++++++++++++++ Src/Asp.Net/SqlSugar/Interface/IQueryable.cs | 6 ++++ 2 files changed, 38 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index d94a4e5bd..444c30a19 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -742,6 +742,14 @@ namespace SqlSugar if (list == null) return default(T); else return list.SingleOrDefault(); } + public ISugarQueryable InIF(bool isIn, params TParamter[] pkValues) + { + if (isIn) + { + In(pkValues); + } + return this; + } public virtual ISugarQueryable In(params TParamter[] pkValues) { if (pkValues == null || pkValues.Length == 0) @@ -3898,6 +3906,14 @@ namespace SqlSugar #endregion #region In + public new ISugarQueryable InIF(bool isIn, params TParamter[] pkValues) + { + if (isIn) + { + In(pkValues); + } + return this; + } public new ISugarQueryable In(Expression> expression, params FieldType[] inValues) { QueryBuilder.CheckExpression(expression, "In"); @@ -4422,6 +4438,14 @@ namespace SqlSugar #endregion #region In + public new ISugarQueryable InIF(bool isIn, params TParamter[] pkValues) + { + if (isIn) + { + In(pkValues); + } + return this; + } public new ISugarQueryable In(Expression> expression, params FieldType[] inValues) { QueryBuilder.CheckExpression(expression, "In"); @@ -5005,6 +5029,14 @@ namespace SqlSugar #endregion #region In + public new ISugarQueryable InIF(bool isIn, params TParamter[] pkValues) + { + if (isIn) + { + In(pkValues); + } + return this; + } public new ISugarQueryable In(Expression> expression, params FieldType[] inValues) { QueryBuilder.CheckExpression(expression, "In"); diff --git a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs index 40ee0c22c..4a40f11b0 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs @@ -78,6 +78,7 @@ namespace SqlSugar T InSingle(object pkValue); Task InSingleAsync(object pkValue); ISugarQueryable In(params TParamter[] pkValues); + ISugarQueryable InIF(bool isIn,params TParamter[] pkValues); ISugarQueryable In(string InFieldName, params FieldType[] inValues); ISugarQueryable In(Expression> expression, params FieldType[] inValues); ISugarQueryable In(List pkValues); @@ -291,6 +292,7 @@ namespace SqlSugar ISugarQueryable In(Expression> expression, params FieldType[] inValues); ISugarQueryable In(Expression> expression, List inValues); ISugarQueryable In(Expression> expression, ISugarQueryable childQueryExpression); + new ISugarQueryable InIF(bool isIn, params TParamter[] pkValues); #endregion #region Other @@ -404,6 +406,8 @@ namespace SqlSugar ISugarQueryable In(Expression> expression, params FieldType[] inValues); ISugarQueryable In(Expression> expression, List inValues); ISugarQueryable In(Expression> expression, ISugarQueryable childQueryExpression); + + new ISugarQueryable InIF(bool isIn, params TParamter[] pkValues); #endregion #region Other @@ -528,6 +532,8 @@ namespace SqlSugar ISugarQueryable In(Expression> expression, params FieldType[] inValues); ISugarQueryable In(Expression> expression, List inValues); ISugarQueryable In(Expression> expression, ISugarQueryable childQueryExpression); + + new ISugarQueryable InIF(bool isIn, params TParamter[] pkValues); #endregion #region Other