Where(conditionals)

This commit is contained in:
sunkaixuan 2022-07-05 01:38:30 +08:00
parent 5f9d2e5daa
commit eac1e1709d
2 changed files with 14 additions and 3 deletions

View File

@ -432,7 +432,7 @@ namespace SqlSugar
{ {
FieldName = item, FieldName = item,
ConditionalType = ConditionalType.Equal, ConditionalType = ConditionalType.Equal,
FieldValue = model[item].ObjToString(), FieldValue = model[item]==null?"null" : model[item].ObjToString(),
CSharpTypeName = model[item] == null ? null : model[item].GetType().Name CSharpTypeName = model[item] == null ? null : model[item].GetType().Name
})); }));
i++; i++;

View File

@ -164,8 +164,19 @@ namespace SqlSugar
switch (item.ConditionalType) switch (item.ConditionalType)
{ {
case ConditionalType.Equal: case ConditionalType.Equal:
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); builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "=", parameterName);
parameters.Add(new SugarParameter(parameterName, GetFieldValue(item))); parameters.Add(new SugarParameter(parameterName, GetFieldValue(item)));
}
break; break;
case ConditionalType.Like: case ConditionalType.Like:
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName); builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName);