Deleteable & Updateable .Where(List<ConditionalModel>)

This commit is contained in:
sunkaixuna 2021-08-01 17:25:47 +08:00
parent 9c4341d21c
commit 03504fdcbe
5 changed files with 18 additions and 0 deletions

View File

@ -220,6 +220,13 @@ namespace SqlSugar
DeleteBuilder.Parameters.AddRange(parameters);
return this;
}
public IDeleteable<T> Where(List<IConditionalModel> conditionalModels)
{
var sql = this.Context.Queryable<T>().SqlBuilder.ConditionalModelToSql(conditionalModels);
var result = this;
result.Where(sql.Key, sql.Value);
return result;
}
public IDeleteable<T> WhereColumns(Expression<Func<T, object>> columns)
{

View File

@ -367,6 +367,14 @@ namespace SqlSugar
this.UpdateBuilder.Parameters.Add(new SugarParameter(parameterName, fieldValue));
return this;
}
public IUpdateable<T> Where(List<IConditionalModel> conditionalModels)
{
Check.Exception(UpdateObjectNotWhere() && UpdateObjs.Length > 1, ErrorMessage.GetThrowMessage("update List no support where", "集合更新不支持Where请使用WhereColumns"));
var sql = this.Context.Queryable<T>().SqlBuilder.ConditionalModelToSql(conditionalModels);
var result = this;
result.Where(sql.Key, sql.Value);
return result;
}
#endregion
#region Helper

View File

@ -22,6 +22,7 @@ namespace SqlSugar
public string FieldName { get; set; }
public string FieldValue { get; set; }
public ConditionalType ConditionalType { get; set; }
[Newtonsoft.Json.JsonIgnoreAttribute]
public Func<string,object> FieldValueConvertFunc { get; set; }
}
}

View File

@ -30,6 +30,7 @@ namespace SqlSugar
IDeleteable<T> Where(string whereString, SugarParameter[] parameters);
IDeleteable<T> Where(string whereString, List<SugarParameter> parameters);
IDeleteable<T> WhereColumns(Expression<Func<T, object>> columns);
IDeleteable<T> Where(List<IConditionalModel> conditionalModels);
IDeleteable<T> EnableDiffLogEvent(object businessData = null);
IDeleteable<T> RemoveDataCache();
IDeleteable<T> RemoveDataCache(string likeString);

View File

@ -43,6 +43,7 @@ namespace SqlSugar
IUpdateable<T> WhereColumns(Expression<Func<T, object>> columns);
IUpdateable<T> WhereColumns(string columnName);
IUpdateable<T> WhereColumns(params string [] columnNames);
IUpdateable<T> Where(List<IConditionalModel> conditionalModels);
/// <summary>
/// .UpdateColumns(it=>new{ it.Name,it.Price})