using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading; using System.Threading.Tasks; namespace PoweredSoft.Data.Core { public interface IDbContextFactory { IQueryable GetQueryable() where T : class; IQueryable GetQueryable(Type type); void Add(object entity); void Remove(object entity); int SaveChanges(); Task SaveChangesAsync(); Task FirstOrDefaultAsync(IQueryable queryable, CancellationToken cancellationToken); Task FirstOrDefaultAsync(IQueryable queryable, Expression> predicate, CancellationToken cancellationToken); Task> ToListAsync(IQueryable queryable, CancellationToken cancellationToken); } }