mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
UpdateNav many to many filter
This commit is contained in:
@@ -405,6 +405,18 @@ namespace SqlSugar
|
||||
}
|
||||
return this;
|
||||
}
|
||||
public IDeleteable<T> EnableQueryFilter(Type type)
|
||||
{
|
||||
var queryable = this.Context.Queryable<T>().Filter(type);
|
||||
queryable.QueryBuilder.LambdaExpressions.ParameterIndex = 1000;
|
||||
var sqlable = queryable.ToSql();
|
||||
var whereInfos = Regex.Split(sqlable.Key, " Where ", RegexOptions.IgnoreCase);
|
||||
if (whereInfos.Length > 1)
|
||||
{
|
||||
this.Where(whereInfos.Last(), sqlable.Value);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
public SplitTableDeleteProvider<T> SplitTable(Func<List<SplitTableInfo>, IEnumerable<SplitTableInfo>> getTableNamesFunc)
|
||||
{
|
||||
UtilMethods.StartCustomSplitTable(this.Context, typeof(T));
|
||||
|
@@ -111,6 +111,10 @@ namespace SqlSugar
|
||||
.SetColumns(locgicColumn.DbColumnName, true)
|
||||
.ExecuteCommand();
|
||||
}
|
||||
else if (_Context?.CurrentConnectionConfig?.MoreSettings?.IsAutoDeleteQueryFilter == true)
|
||||
{
|
||||
this._Context.Deleteable<object>().AS(mappingEntity.DbTableName).In(mappingA.DbColumnName, ids).EnableQueryFilter(mappingEntity.Type).ExecuteCommand();
|
||||
}
|
||||
else
|
||||
{
|
||||
this._Context.Deleteable<object>().AS(mappingEntity.DbTableName).In(mappingA.DbColumnName, ids).ExecuteCommand();
|
||||
|
@@ -251,6 +251,12 @@ namespace SqlSugar
|
||||
var reslt = method.Invoke(QueryableObj, new object[] { });
|
||||
return (string)reslt;
|
||||
}
|
||||
public KeyValuePair<string, List<SugarParameter>> ToSql()
|
||||
{
|
||||
var method = QueryableObj.GetType().GetMyMethod("ToSql", 0);
|
||||
var reslt = method.Invoke(QueryableObj, new object[] { });
|
||||
return (KeyValuePair<string, List<SugarParameter>>)reslt;
|
||||
}
|
||||
public object InSingle(object pkValue)
|
||||
{
|
||||
var method = QueryableObj.GetType().GetMyMethod("InSingle", 1);
|
||||
|
@@ -48,6 +48,7 @@ namespace SqlSugar
|
||||
KeyValuePair<string, List<SugarParameter>> ToSql();
|
||||
string ToSqlString();
|
||||
IDeleteable<T> EnableQueryFilter();
|
||||
IDeleteable<T> EnableQueryFilter(Type type);
|
||||
SplitTableDeleteProvider<T> SplitTable(Func<List<SplitTableInfo>, IEnumerable<SplitTableInfo>> getTableNamesFunc);
|
||||
SplitTableDeleteByObjectProvider<T> SplitTable();
|
||||
LogicDeleteProvider<T> IsLogic();
|
||||
|
Reference in New Issue
Block a user