Repository Interfaces - spinningideas/resources GitHub Wiki
https://github.com/threenine/Threenine.Data/tree/master/src
public interface IRepository<T> : IDisposable where T : class
{
Task<T> FindOne(Expression<Func<T, bool>> predicate = null;
Task<IPagedList<T>> FindManyPagedOrdered(Expression<Func<T, bool>> predicate = null,
Func<IQueryable<T>, IOrderedQueryable<T>> orderBy = null,
Func<IQueryable<T>, IIncludableQueryable<T, object>> include = null,
int pageNumber = 1,
int pageSize = 20,
CancellationToken cancellationToken = default);
IQueryable<T> FindManyQuery(string sql, params object[] parameters);
IQueryable<T> Search(params object[] keyValues);
void Add(T entity);
void Add(params T[] entities);
void Add(IEnumerable<T> entities);
void Delete(T entity);
void Delete(object id);
void Delete(params T[] entities);
void Delete(IEnumerable<T> entities);
void Update(T entity);
void Update(params T[] entities);
void Update(IEnumerable<T> entities);
}