mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-26 10:49:20 +08:00
Support Like
This commit is contained in:
@@ -70,13 +70,14 @@ namespace SqlSugar
|
||||
string oldName = item.FieldName;
|
||||
item.FieldName = GetTranslationColumnName(item.FieldName);
|
||||
item.FieldName = item.FieldName.ToCheckField();
|
||||
var isILike = this.Context.CurrentConnectionConfig?.MoreSettings?.EnableILike == true;
|
||||
switch (item.ConditionalType)
|
||||
{
|
||||
case ConditionalType.Equal:
|
||||
Equal(builder, parameters, item, type, temp, parameterName);
|
||||
break;
|
||||
case ConditionalType.Like:
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName);
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), isILike ? "ILIKE" : "LIKE", parameterName);
|
||||
parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue + "%"));
|
||||
break;
|
||||
case ConditionalType.GreaterThan:
|
||||
@@ -103,15 +104,15 @@ namespace SqlSugar
|
||||
NotIn(builder, parameters, item, type, temp, parameterName);
|
||||
break;
|
||||
case ConditionalType.LikeLeft:
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName);
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), isILike? "ILIKE" : "LIKE", parameterName);
|
||||
parameters.Add(new SugarParameter(parameterName, item.FieldValue + "%"));
|
||||
break;
|
||||
case ConditionalType.NoLike:
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), " NOT LIKE", parameterName);
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), isILike ? "NOT ILIKE" : " NOT LIKE", parameterName);
|
||||
parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue + "%"));
|
||||
break;
|
||||
case ConditionalType.LikeRight:
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "LIKE", parameterName);
|
||||
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), isILike ? "ILIKE" : "LIKE", parameterName);
|
||||
parameters.Add(new SugarParameter(parameterName, "%" + item.FieldValue));
|
||||
break;
|
||||
case ConditionalType.NoEqual:
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace SqlSugar
|
||||
public bool DisableMillisecond { get; set; }
|
||||
public bool PgSqlIsAutoToLower { get; set; } = true;
|
||||
public bool PgSqlIsAutoToLowerCodeFirst { get; set; } = true;
|
||||
public bool EnableILike { get; set; }
|
||||
public bool IsAutoToUpper { get; set; } = true;
|
||||
public int DefaultCacheDurationInSeconds { get; set; }
|
||||
public bool? TableEnumIsString { get; set; }
|
||||
|
||||
@@ -661,7 +661,8 @@ namespace SqlSugar
|
||||
SqliteCodeFirstEnableDropColumn=it.MoreSettings.SqliteCodeFirstEnableDropColumn,
|
||||
MaxParameterNameLength=it.MoreSettings.MaxParameterNameLength,
|
||||
DisableQueryWhereColumnRemoveTrim=it.MoreSettings.DisableQueryWhereColumnRemoveTrim,
|
||||
DatabaseModel=it.MoreSettings.DatabaseModel
|
||||
DatabaseModel=it.MoreSettings.DatabaseModel,
|
||||
EnableILike=it.MoreSettings.EnableILike
|
||||
|
||||
},
|
||||
SqlMiddle = it.SqlMiddle == null ? null : new SqlMiddle
|
||||
|
||||
Reference in New Issue
Block a user