using Mini.Common; using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Linq.Expressions; using System.Text; namespace Mini.Model { public abstract class EfRepositoryBase : IRepository where T : BaseEntity { public abstract T Get(Expression> @where); public abstract IQueryable GetList(); public abstract IQueryable GetList(Expression> @where); public abstract IQueryable GetList(Expression> @where, Expression> orderBy = null, SortOrder sortOrder = SortOrder.Descending); public abstract IQueryable GetList(Expression> orderBy, int pageindex, int pagesize, out int totalRecords, SortOrder sortOrder = SortOrder.Descending); public abstract IQueryable GetList(Expression> @where, Expression> orderBy, int pageindex, int pagesize, out int totalRecords, SortOrder sortOrder = SortOrder.Descending); public abstract IQueryable GetList(Expression> @where, Expression> orderBy, Pager pg, SortOrder sortOrder = SortOrder.Descending); public abstract int Add(T entity); public abstract void AddList(IEnumerable entities); public abstract bool Update(T entity); public abstract void Update(IEnumerable entities); public abstract void Delete(T entity); public abstract void Delete(IEnumerable entities); public abstract IQueryable Table { get; } } }