mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-07-15 23:13:42 +08:00
Update query in query select subquery bug
This commit is contained in:
parent
4dfa4e85ea
commit
4186e0820e
@ -142,6 +142,11 @@ namespace OrmTest
|
|||||||
{
|
{
|
||||||
it.UnitA002 = db.Queryable<UnitA002>().SetContext(x => x.orgid, () => it.id, it).First();
|
it.UnitA002 = db.Queryable<UnitA002>().SetContext(x => x.orgid, () => it.id, it).First();
|
||||||
});
|
});
|
||||||
|
db.Queryable(db.Queryable<Order>())
|
||||||
|
.Select(it => new
|
||||||
|
{
|
||||||
|
x = SqlFunc.Subqueryable<Order>().Where(z => z.Id == it.Id).Any()
|
||||||
|
}).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class UnitA001
|
public class UnitA001
|
||||||
|
@ -2943,6 +2943,7 @@ namespace SqlSugar
|
|||||||
_Size=it._Size
|
_Size=it._Size
|
||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
|
asyncQueryableBuilder.IsQueryInQuery = this.QueryBuilder.IsQueryInQuery;
|
||||||
asyncQueryableBuilder.Includes = this.QueryBuilder.Includes;
|
asyncQueryableBuilder.Includes = this.QueryBuilder.Includes;
|
||||||
asyncQueryableBuilder.Take = this.QueryBuilder.Take;
|
asyncQueryableBuilder.Take = this.QueryBuilder.Take;
|
||||||
asyncQueryableBuilder.Skip = this.QueryBuilder.Skip;
|
asyncQueryableBuilder.Skip = this.QueryBuilder.Skip;
|
||||||
|
@ -33,6 +33,7 @@ namespace SqlSugar
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Splicing basic
|
#region Splicing basic
|
||||||
|
public bool IsQueryInQuery { get; set; }
|
||||||
public List<object> Includes { get; set; }
|
public List<object> Includes { get; set; }
|
||||||
public List<string> IgnoreColumns { get; set; }
|
public List<string> IgnoreColumns { get; set; }
|
||||||
public bool IsCount { get; set; }
|
public bool IsCount { get; set; }
|
||||||
@ -641,6 +642,18 @@ namespace SqlSugar
|
|||||||
if (this.AsTables.Any(it=>it.Key==EntityName))
|
if (this.AsTables.Any(it=>it.Key==EntityName))
|
||||||
{
|
{
|
||||||
name = this.AsTables.FirstOrDefault(it => it.Key == EntityName).Value;
|
name = this.AsTables.FirstOrDefault(it => it.Key == EntityName).Value;
|
||||||
|
if (this.IsQueryInQuery && this.SelectValue != null && this.SelectValue is Expression)
|
||||||
|
{
|
||||||
|
if (this.SelectValue.ToString().Contains("Subqueryable()")&& name.TrimStart().StartsWith("("))
|
||||||
|
{
|
||||||
|
var oldName = name;
|
||||||
|
name = Regex.Match(name, @"\(.+\)").Value;
|
||||||
|
if (name.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
name = oldName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var result = Builder.GetTranslationTableName(name);
|
var result = Builder.GetTranslationTableName(name);
|
||||||
result += UtilConstants.Space;
|
result += UtilConstants.Space;
|
||||||
|
@ -346,6 +346,7 @@ namespace SqlSugar
|
|||||||
|
|
||||||
var result= this.Context.Queryable<T>(queryable);
|
var result= this.Context.Queryable<T>(queryable);
|
||||||
var QueryBuilder = queryable.QueryBuilder;
|
var QueryBuilder = queryable.QueryBuilder;
|
||||||
|
result.QueryBuilder.IsQueryInQuery = true;
|
||||||
result.QueryBuilder.WhereIndex = QueryBuilder.WhereIndex++;
|
result.QueryBuilder.WhereIndex = QueryBuilder.WhereIndex++;
|
||||||
result.QueryBuilder.LambdaExpressions.ParameterIndex = QueryBuilder.LambdaExpressions.ParameterIndex++;
|
result.QueryBuilder.LambdaExpressions.ParameterIndex = QueryBuilder.LambdaExpressions.ParameterIndex++;
|
||||||
result.QueryBuilder.LambdaExpressions.Index = QueryBuilder.LambdaExpressions.Index++;
|
result.QueryBuilder.LambdaExpressions.Index = QueryBuilder.LambdaExpressions.Index++;
|
||||||
|
Loading…
Reference in New Issue
Block a user