From eac1e1709d6b1747e5605151bbc400f471f71436 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 5 Jul 2022 01:38:30 +0800 Subject: [PATCH] Where(conditionals) --- .../QueryableProvider/QueryableProvider.cs | 2 +- .../SqlBuilderProvider/SqlBuilderProvider.cs | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 8db1f1de1..903cf27b7 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -432,7 +432,7 @@ namespace SqlSugar { FieldName = item, ConditionalType = ConditionalType.Equal, - FieldValue = model[item].ObjToString(), + FieldValue = model[item]==null?"null" : model[item].ObjToString(), CSharpTypeName = model[item] == null ? null : model[item].GetType().Name })); i++; diff --git a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs index 5a3fcf213..38afa76d9 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SqlBuilderProvider/SqlBuilderProvider.cs @@ -164,8 +164,19 @@ namespace SqlSugar switch (item.ConditionalType) { case ConditionalType.Equal: - builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "=", parameterName); - parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + if (item.FieldValue!=null&&item.FieldValue == "null"&&item.FieldValue!= "[null]") + { + builder.AppendFormat($" {item.FieldName.ToSqlFilter()} is null "); + } + else + { + if (item.FieldValue == "[null]") + { + item.FieldValue = "null"; + } + builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "=", parameterName); + parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); + } break; case ConditionalType.Like: builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName);