using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; namespace SqlSugar { public interface IDeleteable where T : class, new() { DeleteBuilder DeleteBuilder { get; set; } int ExecuteCommand(); bool ExecuteCommandHasChange(); Task ExecuteCommandAsync(); Task ExecuteCommandHasChangeAsync(); IDeleteable AS(string tableName); IDeleteable AsType(Type tableNameType); IDeleteable With(string lockString); IDeleteable Where(T deleteObj); IDeleteable Where(Expression> expression); IDeleteable Where(List deleteObjs); IDeleteable In(PkType primaryKeyValue); IDeleteable In(PkType[] primaryKeyValues); IDeleteable In(List primaryKeyValues); IDeleteable In(Expression> inField,PkType primaryKeyValue); IDeleteable In(Expression> inField,PkType[] primaryKeyValues); IDeleteable In(Expression> inField,List primaryKeyValues); IDeleteable In(string inField, List primaryKeyValues); IDeleteable Where(string whereString,object parameters=null); IDeleteable Where(string whereString, SugarParameter parameter); IDeleteable Where(string whereString, SugarParameter[] parameters); IDeleteable Where(string whereString, List parameters); IDeleteable WhereColumns(T data, Expression> columns); IDeleteable WhereColumns(List list,Expression> columns); IDeleteable WhereColumns(List> columns); IDeleteable Where(List conditionalModels); IDeleteable EnableDiffLogEventIF(bool isEnableDiffLogEvent, object businessData = null); IDeleteable EnableDiffLogEvent(object businessData = null); IDeleteable RemoveDataCache(); IDeleteable RemoveDataCache(string likeString); KeyValuePair> ToSql(); string ToSqlString(); IDeleteable EnableQueryFilter(); SplitTableDeleteProvider SplitTable(Func, IEnumerable> getTableNamesFunc); SplitTableDeleteByObjectProvider SplitTable(); LogicDeleteProvider IsLogic(); void AddQueue(); } }