diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj index de2ab9a7b..99aefa364 100644 --- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj +++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj @@ -102,6 +102,7 @@ + diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs index 495e075d9..e36fff9a4 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs @@ -31,6 +31,7 @@ namespace OrmTest } public static void Init() { + UCustom07.Init(); UCustom01.Init(); UCustom02.Init(); UCustom03.Init(); diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UCustom07.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom07.cs new file mode 100644 index 000000000..063cbe956 --- /dev/null +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom07.cs @@ -0,0 +1,42 @@ +using OrmTest.UnitTest.Models; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest +{ + public class UCustom07 + { + public static void Init() + { + var db = NewUnitTest.Db; + db.CurrentConnectionConfig.MoreSettings = new ConnMoreSettings() { + IsWithNoLockQuery = true + }; + var query6 = db.Queryable().LeftJoin(db.Queryable(),(m, i) => m.Id == i.OrderId) + .ToList(); + + + } + public class Unit06 + { + public string Name { get; set; } + public string Company { get; set; } + public string Work { get; set; } + } + public class UnitPeople + { + public string Name { get; set; } + public UnitJobClass Job { get; set; } + } + + public class UnitJobClass + { + public string Company { get; set; } + public string Work { get; set; } + } + } +} diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs index 7d80b50ba..3ad6afa05 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs @@ -483,11 +483,12 @@ namespace SqlSugar name = this.AsTables.First(it => it.Key == name).Value; } } + var isSubQuery = name!=null&& name.StartsWith("(") && name.EndsWith(")"); return string.Format( this.JoinTemplate, joinInfo.JoinType.ToString() + UtilConstants.Space, Builder.GetTranslationTableName(name) + UtilConstants.Space, - joinInfo.ShortName + UtilConstants.Space + (TableWithString == SqlWith.Null ? " " : TableWithString), + joinInfo.ShortName + UtilConstants.Space + (TableWithString == SqlWith.Null|| isSubQuery ? " " : TableWithString), joinInfo.JoinWhere); } public virtual void Clear()