From 4d8fcf67b060cd39c33182cd666321716bb1e74a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 13 Jun 2023 16:17:47 +0800 Subject: [PATCH] Update db.QueryableByObject --- .../QueryableProvider/QueryMethodInfo.cs | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs index 242f02896..3c2746f59 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs @@ -1,8 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; +using static Dm.parser.SQLProcessor; + namespace SqlSugar { public class QueryMethodInfo @@ -29,6 +32,12 @@ namespace SqlSugar this.QueryableObj = method.Invoke(QueryableObj, new object[] { tableName, shortName }); return this; } + public QueryMethodInfo OrderBy(List models) + { + var method = QueryableObj.GetType().GetMyMethod("OrderBy", 1, typeof(List)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { models }); + return this; + } public QueryMethodInfo OrderBy(string orderBySql) { var method = QueryableObj.GetType().GetMyMethod("OrderBy", 1, typeof(string)); @@ -47,18 +56,51 @@ namespace SqlSugar this.QueryableObj = method.Invoke(QueryableObj, new object[] { this.Context.EntityMaintenance.GetTableName(joinEntityType), shortName, onWhere, type }); return this; } + public QueryMethodInfo GroupBy(List models) + { + var method = QueryableObj.GetType().GetMyMethod("GroupBy", 1, typeof(List)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { models }); + return this; + } public QueryMethodInfo GroupBy(string groupBySql) { var method = QueryableObj.GetType().GetMyMethod("GroupBy", 1, typeof(string)); this.QueryableObj = method.Invoke(QueryableObj, new object[] { groupBySql }); return this; } + + public QueryMethodInfo Where(List conditionalModels) + { + var method = QueryableObj.GetType().GetMyMethod("Where", 1, typeof(List)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { conditionalModels }); + return this; + } + + public QueryMethodInfo Where(IFuncModel model) + { + var method = QueryableObj.GetType().GetMyMethod("Where", 1, typeof(IFuncModel)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { model }); + return this; + } + + public QueryMethodInfo Where(List conditionalModels, bool isWrap) + { + var method = QueryableObj.GetType().GetMyMethod("Where", 2, typeof(List),typeof(bool)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { conditionalModels,isWrap }); + return this; + } public QueryMethodInfo Where(string sql, object parameters = null) { var method = QueryableObj.GetType().GetMyMethod("Where", 2, typeof(string), typeof(object)); this.QueryableObj = method.Invoke(QueryableObj, new object[] { sql, parameters }); return this; } + public QueryMethodInfo Having(IFuncModel model) + { + var method = QueryableObj.GetType().GetMyMethod("Having", 1, typeof(IFuncModel)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] {model}); + return this; + } public QueryMethodInfo Having(string sql, object parameters = null) { var method = QueryableObj.GetType().GetMyMethod("Having", 2, typeof(string), typeof(object)); @@ -84,6 +126,12 @@ namespace SqlSugar return this; } + public QueryMethodInfo Select(List models) + { + var method = QueryableObj.GetType().GetMyMethod("Select", 1, typeof(List)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { models }); + return this; + } public QueryMethodInfo Select(string selectorSql) { var method = QueryableObj.GetType().GetMyMethod("Select", 1, typeof(string))