Repository Interfaces - spinningideas/resources GitHub Wiki

c#

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);
}


⚠️ **GitHub.com Fallback** ⚠️