Optimized tree

This commit is contained in:
sunkaixuan 2024-02-27 18:50:59 +08:00
parent 6e2153125c
commit a19cfad4b9

View File

@ -321,7 +321,7 @@ namespace SqlSugar
int i = 0;
while (parentId != null && this.Context.Queryable<T>().AS(tableName).Filter(null, this.QueryBuilder.IsDisabledGobalFilter).ClearFilter(this.QueryBuilder.RemoveFilters).In(parentId).Any())
{
Check.Exception(i > 1000, ErrorMessage.GetThrowMessage("Dead cycle", "出现死循环或超出循环上限(1000检查最顶层的ParentId是否是null或者0"));
Check.Exception(i > 200, ErrorMessage.GetThrowMessage("Dead cycle", "出现死循环或超出循环上限(200检查最顶层的ParentId是否是null或者0"));
var parent = this.Context.Queryable<T>().AS(tableName).Filter(null, this.QueryBuilder.IsDisabledGobalFilter).InSingle(parentId);
result.Add(parent);
parentId = ParentInfo.PropertyInfo.GetValue(parent, null);
@ -363,7 +363,7 @@ namespace SqlSugar
int i = 0;
while (parentId != null && this.Context.Queryable<T>().AS(tableName).WhereIF(parentWhereExpression!=default, parentWhereExpression).Filter(null, this.QueryBuilder.IsDisabledGobalFilter).In(parentId).Any())
{
Check.Exception(i > 1000, ErrorMessage.GetThrowMessage("Dead cycle", "出现死循环或超出循环上限(1000检查最顶层的ParentId是否是null或者0"));
Check.Exception(i > 200, ErrorMessage.GetThrowMessage("Dead cycle", "出现死循环或超出循环上限(200检查最顶层的ParentId是否是null或者0"));
var parent = this.Context.Queryable<T>().AS(tableName).WhereIF(parentWhereExpression!=default, parentWhereExpression).Filter(null, this.QueryBuilder.IsDisabledGobalFilter).InSingle(parentId);
result.Add(parent);
parentId = ParentInfo.PropertyInfo.GetValue(parent, null);