diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs index 1d95bb91c..d29c80e61 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs @@ -1093,6 +1093,10 @@ namespace SqlSugar EntityType= lastPareamter.Type, TableName = this.Context.EntityMaintenance.GetTableName(lastPareamter.Type) }; + if (QueryBuilder.IsCrossQueryWithAttr) + { + result.TableName=GetTableName(this.Context.EntityMaintenance.GetEntityInfo(lastPareamter.Type), result.TableName); + } if (this.Context.CurrentConnectionConfig?.MoreSettings?.PgSqlIsAutoToLower == false) { result.ShortName = this.SqlBuilder.GetTranslationColumnName(result.ShortName); diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index a9283b239..9e23e0003 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -1169,7 +1169,10 @@ namespace SqlSugar QueryBuilder.SelectValue = selectValue; return this; } - + public virtual ISugarQueryable SelectMergeTable(Expression> expression) + { + return this.Select(expression).MergeTable(); + } public virtual ISugarQueryable MergeTable() { if (IsSubToList()) diff --git a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs index c02addc9a..91eb69663 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs @@ -134,6 +134,7 @@ namespace SqlSugar ISugarQueryable Select(); ISugarQueryable Select(string select); ISugarQueryable Select(string select); + ISugarQueryable SelectMergeTable(Expression> expression); ISugarQueryable MergeTable(); void ForEach(Action action, int singleMaxReads = 300, System.Threading.CancellationTokenSource cancellationTokenSource = null); Task ForEachAsync(Action action, int singleMaxReads = 300, System.Threading.CancellationTokenSource cancellationTokenSource = null);