From 942c4b952d2e24d5163b1cec71ab003a9d0f5b77 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 6 Dec 2023 14:22:33 +0800 Subject: [PATCH] Update json 2 sql (orderby func) --- .../SqlSugar/Json2Sql/JsonModels/OrderByModel.cs | 2 +- .../Json2Sql/ModelToSql/OrderByModelToSql.cs | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs b/Src/Asp.NetCore2/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs index 8e944a5c8..de7d3480d 100644 --- a/Src/Asp.NetCore2/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs +++ b/Src/Asp.NetCore2/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs @@ -7,7 +7,7 @@ namespace SqlSugar { public class OrderByModel { - public string FieldName { get; set; } + public object FieldName { get; set; } public OrderByType OrderByType { get; set; } public static List Create(params OrderByModel[] orderByModel) { diff --git a/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs b/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs index 728343f1c..49c884dec 100644 --- a/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs +++ b/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs @@ -10,13 +10,18 @@ namespace SqlSugar public KeyValuePair OrderByModelToSql(List models) { StringBuilder sql = new StringBuilder(""); - SugarParameter[] pars = new SugarParameter[] { }; + List pars = new List(){ }; foreach (var item in models) { - if (item is OrderByModel) + if (item is OrderByModel && item.FieldName is IFuncModel) { var orderByModel = item as OrderByModel; - sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ToSqlFilter())} {orderByModel.OrderByType.ToString().ToUpper()} ,"); + sql.Append($" {GetSqlPart(item.FieldName,pars)} {orderByModel.OrderByType.ToString().ToUpper()} ,"); + } + else if (item is OrderByModel) + { + var orderByModel = item as OrderByModel; + sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ObjToString().ToSqlFilter())} {orderByModel.OrderByType.ToString().ToUpper()} ,"); } else { @@ -24,7 +29,7 @@ namespace SqlSugar } } - return new KeyValuePair(sql.ToString().TrimEnd(','), pars); + return new KeyValuePair(sql.ToString().TrimEnd(','), pars?.ToArray()); } } }