From fca301b195085d6d991b8d2fb2097fd4fd9bb0b0 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 20 Sep 2023 21:32:57 +0800 Subject: [PATCH] Json 2 sql --- .../SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs | 7 ++++++- .../Abstract/QueryableProvider/QueryableProvider.cs | 6 ++++++ Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs index 648c5319a..f9eff42ff 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs @@ -82,7 +82,12 @@ namespace SqlSugar this.QueryableObj = method.Invoke(QueryableObj, new object[] { groupBySql }); return this; } - + public QueryMethodInfo Where(string expShortName, FormattableString expressionString) + { + var method = QueryableObj.GetType().GetMyMethod("Where", 2, typeof(string),typeof(FormattableString)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { expShortName, expressionString }); + return this; + } public QueryMethodInfo Where(List conditionalModels) { var method = QueryableObj.GetType().GetMyMethod("Where", 1, typeof(List)); diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 1722f52d8..8d93304cd 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -917,6 +917,12 @@ namespace SqlSugar } return this; } + public virtual ISugarQueryable Where(string expShortName, FormattableString expressionString) + { + var exp = DynamicCoreHelper.GetWhere(expShortName, expressionString); + _Where(exp); + return this; + } public virtual ISugarQueryable Where(Expression> expression) { this._Where(expression); diff --git a/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs b/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs index 5abe6a59e..ed6ce1665 100644 --- a/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.NetCore2/SqlSugar/Interface/IQueryable.cs @@ -84,6 +84,7 @@ namespace SqlSugar ISugarQueryable WhereColumns(Dictionary columns); ISugarQueryable TranLock(DbLockType? LockType = DbLockType.Wait); ISugarQueryable Where(Expression> expression); + ISugarQueryable Where(string expShortName, FormattableString expressionString); ISugarQueryable Where(string whereString, object parameters = null); ISugarQueryable Where(IFuncModel funcModel); ISugarQueryable Where(List conditionalModels);