Synchronization code

This commit is contained in:
sunkaixuan 2023-02-12 21:57:06 +08:00
parent ac184070b9
commit 695a9e728c
2 changed files with 12 additions and 1 deletions

View File

@ -19,6 +19,8 @@ namespace SqlSugar
public UpdateNavOptions _Options { get; set; } public UpdateNavOptions _Options { get; set; }
public bool IsFirst { get; set; } public bool IsFirst { get; set; }
public bool IsAsNav { get; set; }
public UpdateNavProvider<Root, Root> AsNav() public UpdateNavProvider<Root, Root> AsNav()
{ {
return new UpdateNavProvider<Root, Root> return new UpdateNavProvider<Root, Root>
@ -69,6 +71,7 @@ namespace SqlSugar
} }
else else
{ {
UpdateRoot(isRoot, nav); UpdateRoot(isRoot, nav);
} }
IsFirst = false; IsFirst = false;
@ -130,6 +133,10 @@ namespace SqlSugar
private void UpdateRoot() private void UpdateRoot()
{ {
if (IsAsNav)
{
return;
}
if (_Options != null && _Options.RootFunc != null) if (_Options != null && _Options.RootFunc != null)
{ {
var updateable = this._Context.Updateable(_Roots); var updateable = this._Context.Updateable(_Roots);

View File

@ -143,7 +143,11 @@ namespace SqlSugar
private UpdateNavTask<Root, Root> AsNav() private UpdateNavTask<Root, Root> AsNav()
{ {
UpdateNavTask<Root, Root> result = new UpdateNavTask<Root, Root>(); UpdateNavTask<Root, Root> result = new UpdateNavTask<Root, Root>();
Func<UpdateNavProvider<Root, Root>> func = () => PreFunc().AsNav(); Func<UpdateNavProvider<Root, Root>> func = () => {
var navres=PreFunc().AsNav();
navres.IsAsNav = true;
return navres;
};
result.PreFunc = func; result.PreFunc = func;
result.Context = this.Context; result.Context = this.Context;
return result; return result;