From c243f328830d74ac9dadf5d5cddcf8b14db451e2 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 14 Apr 2022 17:22:14 +0800 Subject: [PATCH] Update includes guid bug --- Src/Asp.Net/SqlServerTest/Program.cs | 4 +- .../SqlServerTest/SqlServerTest.csproj | 1 + Src/Asp.Net/SqlServerTest/UnitTest/Main.cs | 1 + .../SqlServerTest/UnitTest/UCustom016.cs | 60 +++++++++++++++++++ .../SqlBuilderProvider/SqlBuilderProvider.cs | 4 ++ 5 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 Src/Asp.Net/SqlServerTest/UnitTest/UCustom016.cs diff --git a/Src/Asp.Net/SqlServerTest/Program.cs b/Src/Asp.Net/SqlServerTest/Program.cs index f600785c3..6d46a63bf 100644 --- a/Src/Asp.Net/SqlServerTest/Program.cs +++ b/Src/Asp.Net/SqlServerTest/Program.cs @@ -27,7 +27,7 @@ namespace OrmTest DemoA_DbMain.Init(); DemoB_Aop.Init(); DemoC_GobalFilter.Init(); - DemoD_DbFirst.Init();; + //DemoD_DbFirst.Init();; DemoE_CodeFirst.Init(); DemoF_Utilities.Init(); DemoG_SimpleClient.Init(); @@ -36,7 +36,7 @@ namespace OrmTest DemoL_Snowflake.Init(); DemoM_UnitOfWork.Init(); //Unit test - NewUnitTest.Init(); + //NewUnitTest.Init(); //Rest Data NewUnitTest.RestData(); diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj index 50bc783e7..1140804a6 100644 --- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj +++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj @@ -99,6 +99,7 @@ + diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs index 5cf97a64a..9cb5f183e 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() { + UCustom016.Init(); UCustom015.Init(); UCustom014.Init(); UCustom013.Init(); diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UCustom016.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom016.cs new file mode 100644 index 000000000..1d594e7cc --- /dev/null +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UCustom016.cs @@ -0,0 +1,60 @@ +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 UCustom016 + { + + public static void Init() + { + var db = NewUnitTest.Db; + + + + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + db.DbMaintenance.TruncateTable(); + db.Insertable(new A1() { Id = Guid.NewGuid(), Name = "a1" }).ExecuteCommand(); + + db.Insertable(new B1() { Id = Guid.NewGuid(), Name = "b1" }).ExecuteCommand(); + db.Insertable(new B1() { Id = Guid.NewGuid(), Name = "b2" }).ExecuteCommand(); + db.Insertable(new ABMapping1() { AId = Guid.NewGuid(), BId = Guid.NewGuid() }).ExecuteCommand(); + db.Queryable().Includes(X => X.BList).ToList(); + } + [SugarTable("ABMapping1Guid")] + public class ABMapping1 + { + [SugarColumn(IsPrimaryKey = true )] + public Guid AId { get; set; } + [SugarColumn(IsPrimaryKey = true)] + public Guid BId { get; set; } + } + [SugarTable("A1Guid")] + public class A1 + { + [SugarColumn(IsPrimaryKey = true )] + public Guid Id { get; set; } + public string Name { get; set; } + [Navigate(typeof(ABMapping1),nameof(ABMapping1.AId),nameof(ABMapping1.BId))] + public List BList { get; set; } + } + [SugarTable("B1Guid")] + public class B1 + { + [SugarColumn(IsPrimaryKey = true )] + public Guid Id { get; set; } + public string Name { get; set; } + [Navigate(typeof(ABMapping1), nameof(ABMapping1.BId), nameof(ABMapping1.AId))] + public List AList { get; set; } + } + + + } +} diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs index 0f22a2399..9a4480915 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs @@ -201,6 +201,10 @@ namespace SqlSugar { inValue1 = inValue1.Replace("[null]", "null"); } + if (item.CSharpTypeName.EqualCase("guid")&& inValue1=="('')") + { + inValue1 = $"('{Guid.Empty.ToString()}')"; + } builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "IN", inValue1); parameters.Add(new SugarParameter(parameterName, item.FieldValue)); break;