public Entidad Obtener(int id) { return(_unidadDeTrabajo.Set <Entidad>().Find(id)); }
/// <summary> /// Obtiene listado de objetos a partir de parámetros de búsqueda y restricciones de ordenamiento /// </summary> /// <param name="filtro">Expresión lambda que define filtros de búsqueda</param> /// <param name="ordenarPor">Expresión que define ordenamiento</param> /// <param name="propiedadesAIncluir">Cadena que define las propiedades a incluir en la búsqueda asociada</param> /// <returns>Listado de objetos asociados a la búsqueda</returns> public IEnumerable <T> Obtener(Expression <Func <T, bool> > filtro = null, Func <IQueryable <T>, IOrderedQueryable <T> > ordenarPor = null, string propiedadesAIncluir = "") { IQueryable <T> consulta = _unidadDeTrabajo.Set <T>(); if (filtro != null) { consulta = consulta.Where(filtro); } if (!string.IsNullOrEmpty(propiedadesAIncluir)) { consulta = propiedadesAIncluir.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries). Aggregate(consulta, (current, propiedadIncluida) => current.Include(propiedadIncluida)); } return(ordenarPor != null?ordenarPor(consulta).ToList() : consulta.ToList()); }