mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-08 09:20:55 +08:00
- 修复 GroupBy + WithTempQuery + 子查询参数化问题;#1965
This commit is contained in:
@@ -620,6 +620,18 @@ namespace base_entity
|
||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||
#endregion
|
||||
|
||||
var p_0 = "x1";
|
||||
var p_0r1 = fsql.Select<User1>().Where(a => a.Nickname == p_0)
|
||||
.GroupBy(a => a.GroupId)
|
||||
.WithTempQuery(a => new
|
||||
{
|
||||
GroupId = a.Key,
|
||||
Sum = fsql.Select<UserGroup>()
|
||||
.Where(b => b.Id == a.Key && b.GroupName == p_0)
|
||||
.Sum(b => b.Id)
|
||||
})
|
||||
.ToList();
|
||||
|
||||
fsql.Delete<RequestEntity>().Where("1=1").ExecuteAffrows();
|
||||
fsql.Delete<RequestDetailEntity>().Where("1=1").ExecuteAffrows();
|
||||
fsql.Insert(new RequestEntity
|
||||
|
||||
@@ -249,7 +249,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
ret._transaction = _select._transaction;
|
||||
ret._whereGlobalFilter = new List<GlobalFilter.Item>(_select._whereGlobalFilter.ToArray());
|
||||
ret._cancel = _select._cancel;
|
||||
ret._params.AddRange(_select._params);
|
||||
//ret._params.AddRange(_select._params); //#1965 WithTempQueryParser 子查询参数化,押后添加参数
|
||||
if (ret._tables[0].Table == null) ret._tables[0].Table = TableInfo.GetDefaultTable(typeof(TDto));
|
||||
Select0Provider.WithTempQueryParser parser = null;
|
||||
_addFieldAlias = true; //解决:[Column(Name = "flevel") 与属性名不一致时,嵌套查询 bug
|
||||
@@ -275,6 +275,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
var sql = $"\r\n{this.ToSql(parser._insideSelectList[0].InsideField)}";
|
||||
ret.WithSql(sql);
|
||||
ret._diymemexpWithTempQuery = parser;
|
||||
ret._params.AddRange(_select._params);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user