diff --git a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs index 097138bf5..f17ea13f4 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs @@ -370,17 +370,31 @@ namespace SqlSugar public T ExecuteReturnEntity(bool isIncludesAllFirstLayer) { var data = ExecuteReturnEntity(); - return this.Context.Queryable().WhereClassByPrimaryKey(data).IncludesAllFirstLayer().First(); + if (this.InsertBuilder.IsWithAttr) + { + return this.Context.Root.QueryableWithAttr().WhereClassByPrimaryKey(data).IncludesAllFirstLayer().First(); + } + else + { + return this.Context.Queryable().WhereClassByPrimaryKey(data).IncludesAllFirstLayer().First(); + } } public async Task ExecuteReturnEntityAsync() { await ExecuteCommandIdentityIntoEntityAsync(); return InsertObjs.First(); } - public async Task ExecuteReturnEntityAsync(bool isIncludesAllFirstLayer) + public async Task ExecuteReturnEntityAsync(bool isIncludesAllFirstLayer) { - var data=await ExecuteReturnEntityAsync(); - return await this.Context.Queryable().WhereClassByPrimaryKey(data).IncludesAllFirstLayer().FirstAsync(); + var data = await ExecuteReturnEntityAsync(); + if (this.InsertBuilder.IsWithAttr) + { + return await this.Context.Root.QueryableWithAttr().WhereClassByPrimaryKey(data).IncludesAllFirstLayer().FirstAsync(); + } + else + { + return await this.Context.Queryable().WhereClassByPrimaryKey(data).IncludesAllFirstLayer().FirstAsync(); + } } public async Task ExecuteCommandIdentityIntoEntityAsync() { diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs index 193eb1ab6..766435858 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/InsertBuilder.cs @@ -132,6 +132,7 @@ namespace SqlSugar } public bool MySqlIgnore { get; internal set; } + public bool IsWithAttr { get; internal set; } public virtual ExpressionResult GetExpressionValue(Expression expression, ResolveExpressType resolveType) { diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs index 5caeafec1..4a6d49195 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs @@ -1546,11 +1546,15 @@ namespace SqlSugar } public IInsertable InsertableWithAttr(T insertObj) where T : class, new() { - return this.GetConnectionWithAttr().Insertable(insertObj); + var result= this.GetConnectionWithAttr().Insertable(insertObj); + result.InsertBuilder.IsWithAttr = true; + return result; } public IInsertable InsertableWithAttr(List insertObjs) where T : class, new() { - return this.GetConnectionWithAttr().Insertable(insertObjs); + var result= this.GetConnectionWithAttr().Insertable(insertObjs); + result.InsertBuilder.IsWithAttr = true; + return result; } public IUpdateable UpdateableWithAttr(T updateObj) where T : class, new() {