using System; using System.Collections.Generic; using System.Dynamic; using System.Linq.Expressions; using System.Threading.Tasks; namespace SqlSugar { public interface ISqlSugarClient: IDisposable { MappingTableList MappingTables { get; set; } MappingColumnList MappingColumns { get; set; } IgnoreColumnList IgnoreColumns { get; set; } IgnoreColumnList IgnoreInsertColumns { get; set; } Dictionary TempItems { get; set; } bool IsSystemTablesConfig { get; } Guid ContextID { get; set; } ConnectionConfig CurrentConnectionConfig { get; set; } IAdo Ado { get; } AopProvider Aop { get; } ICodeFirst CodeFirst { get; } IDbFirst DbFirst { get; } IDbMaintenance DbMaintenance { get; } EntityMaintenance EntityMaintenance { get; set; } QueryFilterProvider QueryFilter { get; set; } IContextMethods Utilities { get; set; } #region Deleteable IDeleteable Deleteable() where T : class, new(); IDeleteable Deleteable(dynamic primaryKeyValue) where T : class, new(); IDeleteable Deleteable(dynamic[] primaryKeyValues) where T : class, new(); IDeleteable Deleteable(Expression> expression) where T : class, new(); IDeleteable Deleteable(List pkValue) where T : class, new(); IDeleteable Deleteable(List deleteObjs) where T : class, new(); IDeleteable Deleteable(T deleteObj) where T : class, new(); #endregion #region Other methods DateTime GetDate(); SimpleClient GetSimpleClient(); SimpleClient GetSimpleClient() where T : class, new(); void InitMappingInfo(Type type); void InitMappingInfo(); void Open(); void Close(); #endregion #region Insertable IInsertable Insertable(Dictionary columnDictionary) where T : class, new(); IInsertable Insertable(dynamic insertDynamicObject) where T : class, new(); IInsertable Insertable(List insertObjs) where T : class, new(); IInsertable Insertable(T insertObj) where T : class, new(); IInsertable Insertable(T[] insertObjs) where T : class, new(); #endregion #region Queryable ISugarQueryable SqlQueryable(string sql) where T : class, new(); ISugarQueryable Queryable(string tableName, string shortName); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression) where T : class, new(); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(Expression> joinExpression); ISugarQueryable Queryable(ISugarQueryable joinQueryable1, ISugarQueryable joinQueryable2, Expression> joinExpression) where T : class, new() where T2 : class, new(); ISugarQueryable Queryable(ISugarQueryable joinQueryable1, ISugarQueryable joinQueryable2, JoinType joinType, Expression> joinExpression) where T : class, new() where T2 : class, new(); ISugarQueryable Queryable(); ISugarQueryable Queryable(ISugarQueryable queryable) where T : class, new(); ISugarQueryable Queryable(string shortName); #endregion #region Saveable ISaveable Saveable(List saveObjects) where T : class, new(); ISaveable Saveable(T saveObject) where T : class, new(); #endregion #region Queue QueueList Queues { get; set; } void AddQueue(string sql, object parsmeters = null); void AddQueue(string sql, List parsmeters); void AddQueue(string sql, SugarParameter parsmeter); int SaveQueues(bool isTran = true); Tuple, List, List, List, List, List, List> SaveQueues(bool isTran = true); Tuple, List, List, List, List, List> SaveQueues(bool isTran = true); Tuple, List, List, List, List> SaveQueues(bool isTran = true); Tuple, List, List, List> SaveQueues(bool isTran = true); Tuple, List, List> SaveQueues(bool isTran = true); Tuple, List> SaveQueues(bool isTran = true); List SaveQueues(bool isTran = true); Task SaveQueuesAsync(bool isTran = true); Task, List, List, List, List, List, List>> SaveQueuesAsync(bool isTran = true); Task, List, List, List, List, List>> SaveQueuesAsync(bool isTran = true); Task, List, List, List, List>> SaveQueuesAsync(bool isTran = true); Task, List, List, List>> SaveQueuesAsync(bool isTran = true); Task, List, List>> SaveQueuesAsync(bool isTran = true); Task, List>> SaveQueuesAsync(bool isTran = true); Task> SaveQueuesAsync(bool isTran = true); #endregion #region Union ISugarQueryable Union(List> queryables) where T : class, new(); ISugarQueryable Union(params ISugarQueryable[] queryables) where T : class, new(); ISugarQueryable UnionAll(List> queryables) where T : class, new(); ISugarQueryable UnionAll(params ISugarQueryable[] queryables) where T : class, new(); #endregion #region Updateable IUpdateable Updateable() where T : class, new(); IUpdateable Updateable(Dictionary columnDictionary) where T : class, new(); IUpdateable Updateable(dynamic updateDynamicObject) where T : class, new(); IUpdateable Updateable(Expression> columns) where T : class, new(); IUpdateable Updateable(Expression> columns) where T : class, new(); IUpdateable Updateable(List UpdateObjs) where T : class, new(); IUpdateable Updateable(T UpdateObj) where T : class, new(); IUpdateable Updateable(T[] UpdateObjs) where T : class, new(); #endregion #region Obsolete [Obsolete("use Utilities")] IContextMethods RewritableMethods { get; set; } [Obsolete("use GetSimpleClient()")] SimpleClient SimpleClient { get; } [Obsolete("use EntityMaintenance")] EntityMaintenance EntityProvider { get; set; } #endregion } }