Deleteable support query filter

This commit is contained in:
sunkaixuna 2021-09-30 00:15:33 +08:00
parent aebc63e20a
commit 55c166362c
3 changed files with 14 additions and 0 deletions

View File

@ -29,6 +29,9 @@ namespace OrmTest
db.Queryable<Order>().ToList();
//SELECT [Id],[Name],[Price],[CreateTime],[CustomId] FROM [Order] WHERE ([Name] like '%'+@MethodConst0+'%')
//delete Filter
db.Deleteable<Order>().EnableQueryFilter().Where(it=>it.Id==1).ExecuteCommand();
db.Queryable<OrderItem, Order>((i, o) => i.OrderId == o.Id)
.Where(i => i.OrderId != 0)
.Select("i.*").ToList();
@ -93,6 +96,8 @@ namespace OrmTest
db.Aop.OnLogExecuted = (sql, p) =>
{
Console.WriteLine(sql);
Console.WriteLine(string.Join(",",p.Select(it=>it.ParameterName+":"+it.Value)));
Console.WriteLine();
};
return db;
}

View File

@ -250,6 +250,14 @@ namespace SqlSugar
};
return this;
}
public IDeleteable<T> EnableQueryFilter()
{
var queryable = this.Context.Queryable<T>();
queryable.QueryBuilder.LambdaExpressions.ParameterIndex= 1000;
var sqlable= queryable.ToSql();
this.Where(Regex.Split(sqlable.Key," Where ",RegexOptions.IgnoreCase).Last(), sqlable.Value);
return this;
}
public IDeleteable<T> RemoveDataCache(string likeString)
{
this.RemoveCacheFunc = () =>

View File

@ -35,6 +35,7 @@ namespace SqlSugar
IDeleteable<T> RemoveDataCache();
IDeleteable<T> RemoveDataCache(string likeString);
KeyValuePair<string, List<SugarParameter>> ToSql();
IDeleteable<T> EnableQueryFilter();
void AddQueue();
}
}