mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
FieldAliasOptions 新增空的别名,解决CountDistinct 问题
This commit is contained in:
parent
f1fd00340d
commit
fe00dd8075
@ -2055,6 +2055,11 @@
|
|||||||
使用属性名作为字段别名
|
使用属性名作为字段别名
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="F:FreeSql.FieldAliasOptions.AsEmpty">
|
||||||
|
<summary>
|
||||||
|
没有别名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:FreeSql.ISelect0`2.Cancel(System.Func{System.Boolean})">
|
<member name="M:FreeSql.ISelect0`2.Cancel(System.Func{System.Boolean})">
|
||||||
<summary>
|
<summary>
|
||||||
控制取消本次查询<para></para>
|
控制取消本次查询<para></para>
|
||||||
|
@ -13,10 +13,15 @@ namespace FreeSql
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
AsIndex,
|
AsIndex,
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 使用属性名作为字段别名
|
/// 使用属性名作为字段别名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
AsProperty
|
AsProperty,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 没有字段别名
|
||||||
|
/// </summary>
|
||||||
|
AsEmpty,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -443,7 +443,8 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
{
|
{
|
||||||
var map = new ReadAnonymousTypeInfo();
|
var map = new ReadAnonymousTypeInfo();
|
||||||
var field = new StringBuilder();
|
var field = new StringBuilder();
|
||||||
var index = fieldAlias == FieldAliasOptions.AsProperty ? CommonExpression.ReadAnonymousFieldAsCsName : 0;
|
var index = fieldAlias == FieldAliasOptions.AsProperty ? CommonExpression.ReadAnonymousFieldAsCsName :
|
||||||
|
(fieldAlias == FieldAliasOptions.AsIndex ? 0 : CommonExpression.ReadAnonymousFieldAsCsNameGroupBy);
|
||||||
|
|
||||||
_commonExpression.ReadAnonymousField(_tables, _tableRule, field, map, ref index, newexp, this, _diymemexpWithTempQuery, _whereGlobalFilter, null, null, true);
|
_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);
|
return new ReadAnonymousTypeAfInfo(map, field.Length > 0 ? field.Remove(0, 2).ToString() : null);
|
||||||
@ -1362,7 +1363,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var countField = "1";
|
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<int>($"count({countField}){_commonUtils.FieldAsAlias("as1")}").Sum(); //这里的 Sum 为了分表查询
|
return this.ToList<int>($"count({countField}){_commonUtils.FieldAsAlias("as1")}").Sum(); //这里的 Sum 为了分表查询
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
@ -1425,7 +1426,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var countField = "1";
|
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<int>($"count({countField}){_commonUtils.FieldAsAlias("as1")}", cancellationToken)).Sum(); //这里的 Sum 为了分表查询
|
return (await this.ToListAsync<int>($"count({countField}){_commonUtils.FieldAsAlias("as1")}", cancellationToken)).Sum(); //这里的 Sum 为了分表查询
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
Loading…
x
Reference in New Issue
Block a user