diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavProvider.cs index ee4605070..1fbd053f5 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavProvider.cs @@ -19,6 +19,8 @@ namespace SqlSugar public UpdateNavOptions _Options { get; set; } public bool IsFirst { get; set; } + public bool IsAsNav { get; set; } + public UpdateNavProvider AsNav() { return new UpdateNavProvider @@ -69,6 +71,7 @@ namespace SqlSugar } else { + UpdateRoot(isRoot, nav); } IsFirst = false; @@ -130,6 +133,10 @@ namespace SqlSugar private void UpdateRoot() { + if (IsAsNav) + { + return; + } if (_Options != null && _Options.RootFunc != null) { var updateable = this._Context.Updateable(_Roots); diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavTask.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavTask.cs index 26c2a63d3..bdffd510d 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavTask.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavTask.cs @@ -143,7 +143,11 @@ namespace SqlSugar private UpdateNavTask AsNav() { UpdateNavTask result = new UpdateNavTask(); - Func> func = () => PreFunc().AsNav(); + Func> func = () => { + var navres=PreFunc().AsNav(); + navres.IsAsNav = true; + return navres; + }; result.PreFunc = func; result.Context = this.Context; return result;