|
|
@@ -133,8 +133,10 @@ public static class RepositoryExtension
|
|
|
/// <returns> </returns>
|
|
|
public static ISugarQueryable<T> OrderBuilder<T>(this ISugarQueryable<T> queryable, BasePageInput pageInput, string prefix = "", string defaultSortField = "Id", bool descSort = true)
|
|
|
{
|
|
|
+ var iSqlBuilder = InstanceFactory.GetSqlBuilderWithContext(queryable.Context);
|
|
|
+
|
|
|
// 约定默认每张表都有Id排序
|
|
|
- var orderStr = string.IsNullOrWhiteSpace(defaultSortField) ? "" : $"{prefix}{defaultSortField}" + (descSort ? " Desc" : " Asc");
|
|
|
+ var orderStr = string.IsNullOrWhiteSpace(defaultSortField) ? "" : $"{prefix}{iSqlBuilder.GetTranslationColumnName(defaultSortField)}" + (descSort ? " Desc" : " Asc");
|
|
|
|
|
|
TypeAdapterConfig typeAdapterConfig = new();
|
|
|
typeAdapterConfig.ForType<T, BasePageInput>().IgnoreNullValues(true);
|
|
|
@@ -144,9 +146,8 @@ public static class RepositoryExtension
|
|
|
if (!string.IsNullOrEmpty(nowPagerInput.Field) && !string.IsNullOrEmpty(nowPagerInput.Order))
|
|
|
{
|
|
|
var col = queryable.Context.EntityMaintenance.GetEntityInfo<T>().Columns.FirstOrDefault(u => u.PropertyName.Equals(nowPagerInput.Field, StringComparison.CurrentCultureIgnoreCase));
|
|
|
- orderStr = col != null
|
|
|
- ? $"{prefix}{col.DbColumnName} {(nowPagerInput.Order == nowPagerInput.DescStr ? "Desc" : "Asc")}"
|
|
|
- : $"{prefix}{nowPagerInput.Field} {(nowPagerInput.Order == nowPagerInput.DescStr ? "Desc" : "Asc")}";
|
|
|
+ var dbColumnName = col != null ? col.DbColumnName : nowPagerInput.Field;
|
|
|
+ orderStr = $"{prefix}{iSqlBuilder.GetTranslationColumnName(dbColumnName)} {(nowPagerInput.Order == nowPagerInput.DescStr ? "Desc" : "Asc")}";
|
|
|
}
|
|
|
return queryable.OrderByIF(!string.IsNullOrWhiteSpace(orderStr), orderStr);
|
|
|
}
|