예제 #1
0
 public Entidad Obtener(int id)
 {
     return(_unidadDeTrabajo.Set <Entidad>().Find(id));
 }
예제 #2
0
        /// <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());
        }