none
¿como usar el operador LIKE en consultas LinQ en C#? RRS feed

  • Pregunta

  • Estoy creando un metodo para filtar por campos...

     public IQueryable<Empleado> Filtrar(Expression<Func<Empleado, bool>> predicate)
            {
                return contexto.Empleados.Where(predicate).Select(e => e);
            }

    al implementar en un servicio

    public List<Empleado> Filtrar(Empleado emp)
            {
                List<Empleado> lista = empleadoRepository.GetAll().ToList();
                List<Empleado> EmpleadosFilter = from empleado in lista where (emple.Paterno.Contains(em.Paterno) | emple.Materno.Contains(em.Materno))
            }

    me marca error

    les agradezco la ayuda

    viernes, 23 de septiembre de 2016 15:48

Respuestas

  • Hola @Erick Hermosillo

    Puedes hacer algo como esto, el còdigo que te proporciono es a modo de ejemplo, es lo que uso cundo quiero hacer un LIKE

    public IEnumerable<ProveedorExtend> SelectList(string valor)
            {
                using (PosContext Context = new PosContext())
                {
                    var result = (from p in Context.Proveedores
                                  where
                                   (p.RazonSocial.Contains(valor))
                                  select new ProveedorExtend()
                                  {
                                      ProveedorExtendId = p.ProveedorId,
                                      Descripcion = p.RazonSocial
                                  }).ToList();
                    return result;
                }
            }

    Espero te sea de utilidad...



    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    sábado, 1 de octubre de 2016 22:57

Todas las respuestas

  • Hola Erick Hermosillo

    Podrías utilizar String.StartsWith/EndsWith/Contains

    string filtro = "Hola";
    var resultado = Database.Entidad
                           .Where(p => p.Campo.Contains(filtro))
                           .Single();
    Saludos

    Javier

    viernes, 23 de septiembre de 2016 20:02
  • Hola @Erick Hermosillo

    Puedes hacer algo como esto, el còdigo que te proporciono es a modo de ejemplo, es lo que uso cundo quiero hacer un LIKE

    public IEnumerable<ProveedorExtend> SelectList(string valor)
            {
                using (PosContext Context = new PosContext())
                {
                    var result = (from p in Context.Proveedores
                                  where
                                   (p.RazonSocial.Contains(valor))
                                  select new ProveedorExtend()
                                  {
                                      ProveedorExtendId = p.ProveedorId,
                                      Descripcion = p.RazonSocial
                                  }).ToList();
                    return result;
                }
            }

    Espero te sea de utilidad...



    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    sábado, 1 de octubre de 2016 22:57