Update navSelectHelper

This commit is contained in:
sunkaixuan 2022-07-15 15:23:58 +08:00
parent 8706ad9c8f
commit b1bf42cf3d

View File

@ -21,7 +21,7 @@ namespace SqlSugar
.Select(expression) .Select(expression)
.ToList(); .ToList();
var includeQueryable = queryableProvider.Clone(); var includeQueryable = queryableProvider.Clone();
includeQueryable.Select(GetGroupSelect(typeof(T), queryableProvider.Context)); includeQueryable.Select(GetGroupSelect(typeof(T), queryableProvider.Context,queryableProvider.QueryBuilder));
includeQueryable.QueryBuilder.NoCheckInclude=true; includeQueryable.QueryBuilder.NoCheckInclude=true;
MegerList(result, includeQueryable.ToList(), sqlfuncQueryable.Context); MegerList(result, includeQueryable.ToList(), sqlfuncQueryable.Context);
} }
@ -53,7 +53,7 @@ namespace SqlSugar
.Select(expression) .Select(expression)
.ToListAsync(); .ToListAsync();
var includeQueryable = queryableProvider.Clone(); var includeQueryable = queryableProvider.Clone();
includeQueryable.Select(GetGroupSelect(typeof(T), queryableProvider.Context)); includeQueryable.Select(GetGroupSelect(typeof(T), queryableProvider.Context, queryableProvider.QueryBuilder));
includeQueryable.QueryBuilder.NoCheckInclude = true; includeQueryable.QueryBuilder.NoCheckInclude = true;
MegerList(result,await includeQueryable.ToListAsync(), sqlfuncQueryable.Context); MegerList(result,await includeQueryable.ToListAsync(), sqlfuncQueryable.Context);
} }
@ -75,14 +75,21 @@ namespace SqlSugar
return result; return result;
} }
private static string GetGroupSelect(Type type,SqlSugarProvider context) private static string GetGroupSelect(Type type,SqlSugarProvider context,QueryBuilder queryBuilder)
{ {
var entity = context.EntityMaintenance.GetEntityInfo(type); var entity = context.EntityMaintenance.GetEntityInfo(type);
List<string> selector = new List<string>(); List<string> selector = new List<string>();
foreach (var item in entity.Columns.Where(it=>it.IsIgnore==false)) foreach (var item in entity.Columns.Where(it=>it.IsIgnore==false))
{
if (queryBuilder.TableShortName.HasValue())
{
selector.Add($" min({queryBuilder.TableShortName}.{item.DbColumnName}) as {item.DbColumnName}");
}
else
{ {
selector.Add($" min({item.DbColumnName}) as {item.DbColumnName}"); selector.Add($" min({item.DbColumnName}) as {item.DbColumnName}");
} }
}
return string.Join(",", selector); return string.Join(",", selector);
} }