using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Linq.Expressions; using LiveGameFeed.Models; namespace LiveGameFeed.Data.Abstract { public interface IEntityBaseRepository where T : class, IEntityBase, new() { IEnumerable AllIncluding(params Expression>[] includeProperties); IEnumerable GetAll(); int Count(); T GetSingle(int id); T GetSingle(Expression> predicate); T GetSingle(Expression> predicate, params Expression>[] includeProperties); IEnumerable FindBy(Expression> predicate); void Add(T entity); void Update(T entity); void Delete(T entity); void DeleteWhere(Expression> predicate); void Commit(); } }