diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 4eaf5d379..e35d85812 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -1059,6 +1059,30 @@ namespace SqlSugar else { var selects = this.QueryBuilder.GetSelectValueByString(); + if (selects.ObjToString().ToLower().IsContainsIn(".","("," as ")) + { + return this.Select(selects); + } + var resultColumns=this.Context.EntityMaintenance.GetEntityInfo().Columns; + var dbColumns = this.EntityInfo.Columns.Where(it=>!it.IsIgnore); + StringBuilder sb = new StringBuilder(); + foreach (var item in resultColumns) + { + var firstColumn= dbColumns.FirstOrDefault(z => + z.PropertyName.EqualCase(item.PropertyName) || + z.DbColumnName.EqualCase(item.PropertyName)); + if (firstColumn != null) + { + var dbColumnName = firstColumn.DbColumnName; + var AsName = item.PropertyName; + sb.Append($"{this.SqlBuilder.GetTranslationColumnName(dbColumnName)} AS {AsName} ,"); + } + } + selects = sb.ToString().TrimEnd(','); + if (selects == "") + { + selects = "*"; + } return this.Select(selects); } }