miércoles, 10 de septiembre de 2014

LISTAR CAMPOS ESPECIFICOS LINQ De una Tabla

LISTAR CAMPOS ESPECIFICOS LINQ 

    Pregunta

  • HOLA ESPERO ME PUEDAN COLABORAR TENGO UNA TABLA USUARIO Q TIENE 3 CAMPOS USUARIOID,NOMBRE,CLAVE
    TENGO LA SIGUIENTE CONSULTA EN LINQ, YO SOLO KIERO Q ME LISTE EL SUARIOID, Y NOMBRE.

    public IList<Tbl_Usuario> ListarUsuarios()
    {
            var resultado = from p in entidades.Tbl_Usuario        orderby p.Nombre        select p; // si le pongo p.usuarioID,p.Nombre; me saca error        return resultado.ToList();
    }
    sábado, 26 de septiembre de 2009 16:08
    Avatar de LEIDY_077
    0 Puntos

Todas las respuestas

  • Pues no creo que se pueda pues le metodo retorna una lista de la entidad Tbl_Usuario, y eso incluye todos sus campos. Pero si lo que quieres es por ejemplo omitir este campo en la visualizacion de un gridview, puedes quitar del gridview la opcion de autogenerar columnas, y no te muestra todos los campos de la lista, solo los que tu especifiques.
    domingo, 27 de septiembre de 2009 13:45
    Avatar de Roger-rgomezj
    Edatel
    (Partner)
    2,305 Puntos
  • Hola
    Desbes crearte un tipo anonimo

    public IList<Tbl_Usuario> ListarUsuarios()
    {
            var resultado = from p in entidades.Tbl_Usuario
            orderby p.Nombre
            select new 
           {
               UsuarioID,
               Nombre,
               Clave
           };
    
           return resultado.ToList();
    }
    



    Saludos
    Si la respuesta es correcta, marcala como correcta.
    Tambien puedes votar como util si te fue de ayuda
    DCE 5 ESTRELLAS PLATINO
    domingo, 27 de septiembre de 2009 20:11
    Avatar de Pedro J Marquez
    Manapro Consultores
    2,565 Puntos
  • pero para hacerlo asi no seria necesario crear el tipo anónimo, lo que ella quiere es omitir el campo clave. En caso de que se pueda crear el tipo anónimo, sin el campo clave,  si es posible retornar un tipo anonimo en un método que espera que le retornen un tipo específico??????
    domingo, 27 de septiembre de 2009 22:37
    Avatar de Roger-rgomezj
    Edatel
    (Partner)
    2,305 Puntos
  • Hola
    Tienes razon, aqui lo que hay que hacer es crear una nueva entidad entidad con los campos necesarios:

    public class Usuario
    {
       public string UsuarioID {get; set;}
       public string Nombre {get; set;}
    }
    y luego proyectar el resultado a esta entidad;
     
    public IList<Usuario> ListarUsuarios()
    {
            var resultado = from p in entidades.Tbl_Usuario
            orderby p.Nombre
            select new Usuario
           {
               UsuarioID = p.UserID,
               Nombre = p.Name
               
           };
    
           return resultado.ToList();
    }
    

    Saludos
    Si la respuesta es correcta, marcala como correcta.
    Tambien puedes votar como util si te fue de ayuda
    DCE 5 ESTRELLAS PLATINO

No hay comentarios:

Publicar un comentario