diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml index 5f6a3f2a..e3925df4 100644 --- a/FreeSql/FreeSql.xml +++ b/FreeSql/FreeSql.xml @@ -2055,6 +2055,11 @@ 使用属性名作为字段别名 + + + 没有别名 + + 控制取消本次查询 diff --git a/FreeSql/Interface/Curd/ISelect/FieldAliasOptions.cs b/FreeSql/Interface/Curd/ISelect/FieldAliasOptions.cs index 6c17997a..87972c15 100644 --- a/FreeSql/Interface/Curd/ISelect/FieldAliasOptions.cs +++ b/FreeSql/Interface/Curd/ISelect/FieldAliasOptions.cs @@ -13,10 +13,15 @@ namespace FreeSql /// AsIndex, - + /// /// 使用属性名作为字段别名 /// - AsProperty + AsProperty, + + /// + /// 没有字段别名 + /// + AsEmpty, } } diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs index a922b279..f1852104 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs @@ -443,7 +443,8 @@ namespace FreeSql.Internal.CommonProvider { var map = new ReadAnonymousTypeInfo(); var field = new StringBuilder(); - var index = fieldAlias == FieldAliasOptions.AsProperty ? CommonExpression.ReadAnonymousFieldAsCsName : 0; + var index = fieldAlias == FieldAliasOptions.AsProperty ? CommonExpression.ReadAnonymousFieldAsCsName : + (fieldAlias == FieldAliasOptions.AsEmpty ? CommonExpression.ReadAnonymousFieldAsCsNameGroupBy : 0); _commonExpression.ReadAnonymousField(_tables, _tableRule, field, map, ref index, newexp, this, _diymemexpWithTempQuery, _whereGlobalFilter, null, null, true); return new ReadAnonymousTypeAfInfo(map, field.Length > 0 ? field.Remove(0, 2).ToString() : null); @@ -1362,7 +1363,7 @@ namespace FreeSql.Internal.CommonProvider try { var countField = "1"; - if (tmpDistinct && _selectExpression != null) countField = $"distinct {this.GetExpressionField(_selectExpression, FieldAliasOptions.AsProperty).field}"; + if (tmpDistinct && _selectExpression != null) countField = $"distinct {this.GetExpressionField(_selectExpression, FieldAliasOptions.AsEmpty).field}"; return this.ToList($"count({countField}){_commonUtils.FieldAsAlias("as1")}").Sum(); //这里的 Sum 为了分表查询 } finally @@ -1425,7 +1426,7 @@ namespace FreeSql.Internal.CommonProvider try { var countField = "1"; - if (tmpDistinct && _selectExpression != null) countField = $"distinct {this.GetExpressionField(_selectExpression, FieldAliasOptions.AsProperty).field}"; + if (tmpDistinct && _selectExpression != null) countField = $"distinct {this.GetExpressionField(_selectExpression, FieldAliasOptions.AsEmpty).field}"; return (await this.ToListAsync($"count({countField}){_commonUtils.FieldAsAlias("as1")}", cancellationToken)).Sum(); //这里的 Sum 为了分表查询 } finally