diff --git a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavTask.cs b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavTask.cs index 19850223a..b4c076508 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavTask.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavTask.cs @@ -107,7 +107,33 @@ namespace SqlSugar return AsNav().ThenInclude(expression, options); } - + public Root ExecuteReturnEntity() + { + var hasTran = this.Context.Ado.Transaction != null; + if (hasTran) + { + return (Root)PreFunc()?._RootList?.FirstOrDefault(); + } + else + { + Root result = null; + this.Context.Ado.UseTran(() => + { + result= (Root)PreFunc()?._RootList?.FirstOrDefault(); + }, ex => throw ex); + return result; + } + } + public async Task ExecuteReturnEntityAsync() + { + Root result = null; + await Task.Run(async () => + { + result=ExecuteReturnEntity(); + await Task.Delay(0); + }); + return result; + } public bool ExecuteCommand() {