using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; namespace KanSan.DataStoring.Contract { public interface IRepository where TEntity : class { void Delete(TEntity entityToDelete); void Delete(int id); IEnumerable GetAll(string include); IEnumerable Get( Expression> filter = null, Func, IOrderedQueryable> orderBy = null, string includeProperties = ""); TEntity GetByID(object id); void Insert(TEntity entity); void Update(TEntity entity); IQueryable Include(params Expression>[] includes); IQueryable Query { get; } } }