/// <summary> /// Busca todos itens salvo na base /// </summary> /// <param name="navigationProperties">Classe operante</param> /// <returns>Lista baseada no tipo passado</returns> public virtual IList <T> GetAll() { List <T> list; var context = new staffproContext(); IQueryable <T> dbQuery = context.Set <T>(); list = dbQuery .ToList <T>(); return(list); }
/// <summary> /// Usado para pegar todos utilizando Lambda Expression /// </summary> /// <param name="where">Sintaxe where para selecionar uma clausula</param> /// <param name="navigationProperties">Classe Operante</param> /// <returns>Lista filtrada</returns> public virtual IList <T> GetList(Func <T, bool> where, params Expression <Func <T, object> >[] navigationProperties) { List <T> list = new List <T>(); var context = new staffproContext(); IQueryable <T> dbQuery = context.Set <T>().AsQueryable(); var query = context.Set <T>().AsQueryable(); //Apply eager loading foreach (Expression <Func <T, object> > navigationProperty in navigationProperties) { dbQuery = dbQuery.Include <T, object>(navigationProperty); } list = dbQuery .AsNoTracking() .Where(where) .ToList <T>(); return(list); }
/// <summary> /// /// </summary> /// <param name="where"></param> /// <param name="navigationProperties"></param> /// <returns></returns> public virtual T GetSingle(Func <T, bool> where, params Expression <Func <T, object> >[] navigationProperties) { T item = null; var context = new staffproContext(); IQueryable <T> dbQuery = context.Set <T>(); //Apply eager loading foreach (Expression <Func <T, object> > navigationProperty in navigationProperties) { dbQuery = dbQuery.Include <T, object>(navigationProperty); } item = dbQuery .AsNoTracking() //Don't track any changes for the selected item .FirstOrDefault(where); //Apply where clause return(item); }