Synchronization code

This commit is contained in:
sunkaixuan 2023-12-06 14:50:13 +08:00
parent f6697ad6db
commit 1213f9d060
4 changed files with 21 additions and 10 deletions

View File

@ -7,7 +7,7 @@ namespace SqlSugar
{
public class GroupByModel
{
public string FieldName { get; set; }
public object FieldName { get; set; }
public static List<GroupByModel> Create(params GroupByModel[] groupModels)
{
return groupModels.ToList();

View File

@ -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<OrderByModel> Create(params OrderByModel[] orderByModel)
{

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Linq;
using System.Runtime.CompilerServices;
namespace SqlSugar
{
public abstract partial class SqlBuilderProvider : SqlBuilderAccessory, ISqlBuilder
@ -10,13 +11,18 @@ namespace SqlSugar
public KeyValuePair<string, SugarParameter[]> GroupByModelToSql(List<GroupByModel> models)
{
StringBuilder sql = new StringBuilder("");
SugarParameter[] pars = new SugarParameter[] { };
var pars = new List<SugarParameter> { };
foreach (var item in models)
{
if (item is GroupByModel)
if (item is GroupByModel && item.FieldName is IFuncModel)
{
var orderByModel = item as GroupByModel;
sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ToSqlFilter())} ,");
sql.Append($" {GetSqlPart(item.FieldName, pars)} ,");
}
else if (item is GroupByModel)
{
var orderByModel = item as GroupByModel;
sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ObjToString().ToSqlFilter())} ,");
}
else
{
@ -24,7 +30,7 @@ namespace SqlSugar
}
}
return new KeyValuePair<string, SugarParameter[]>(sql.ToString().TrimEnd(','), pars);
return new KeyValuePair<string, SugarParameter[]>(sql.ToString().TrimEnd(','), pars?.ToArray());
}
}
}

View File

@ -10,13 +10,18 @@ namespace SqlSugar
public KeyValuePair<string, SugarParameter[]> OrderByModelToSql(List<OrderByModel> models)
{
StringBuilder sql = new StringBuilder("");
SugarParameter[] pars = new SugarParameter[] { };
List<SugarParameter> pars = new List<SugarParameter>(){ };
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<string, SugarParameter[]>(sql.ToString().TrimEnd(','), pars);
return new KeyValuePair<string, SugarParameter[]>(sql.ToString().TrimEnd(','), pars?.ToArray());
}
}
}