mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 修复 WithTempQuery + Column + GroupBy + Key 指定列名的问题;
This commit is contained in:
parent
29846764a6
commit
73d8edbd52
@ -243,9 +243,24 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
ret._whereGlobalFilter = new List<GlobalFilter.Item>(_select._whereGlobalFilter.ToArray());
|
ret._whereGlobalFilter = new List<GlobalFilter.Item>(_select._whereGlobalFilter.ToArray());
|
||||||
ret._cancel = _select._cancel;
|
ret._cancel = _select._cancel;
|
||||||
if (ret._tables[0].Table == null) ret._tables[0].Table = TableInfo.GetDefaultTable(typeof(TDto));
|
if (ret._tables[0].Table == null) ret._tables[0].Table = TableInfo.GetDefaultTable(typeof(TDto));
|
||||||
|
Select0Provider.WithTempQueryParser parser = null;
|
||||||
_addFieldAlias = true; //解决:[Column(Name = "flevel") 与属性名不一致时,嵌套查询 bug
|
_addFieldAlias = true; //解决:[Column(Name = "flevel") 与属性名不一致时,嵌套查询 bug
|
||||||
var parser = new Select0Provider.WithTempQueryParser(_select, this, selector, ret._tables[0]);
|
var old_field = _field;
|
||||||
|
var fieldsb = new StringBuilder();
|
||||||
|
foreach (var child in _map.GetAllChilds())
|
||||||
|
fieldsb.Append(", ").Append(child.DbField).Append(_comonExp.EndsWithDbNestedField(child.DbField, child.DbNestedField) ? "" : _comonExp._common.FieldAsAlias(child.DbNestedField));
|
||||||
|
_field = fieldsb.ToString();
|
||||||
|
fieldsb.Clear();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
parser = new Select0Provider.WithTempQueryParser(_select, this, selector, ret._tables[0]);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
fieldsb.Clear();
|
||||||
|
_field = old_field;
|
||||||
_addFieldAlias = false;
|
_addFieldAlias = false;
|
||||||
|
}
|
||||||
var sql = $"\r\n{this.ToSql(parser._insideSelectList[0].InsideField)}";
|
var sql = $"\r\n{this.ToSql(parser._insideSelectList[0].InsideField)}";
|
||||||
ret.WithSql(sql);
|
ret.WithSql(sql);
|
||||||
ret._diymemexpWithTempQuery = parser;
|
ret._diymemexpWithTempQuery = parser;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user