none
LISTAR CAMPOS ESPECIFICOS LINQ RRS feed

  • 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

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
  • 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
  • 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
  • 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
    lunes, 28 de septiembre de 2009 12:41
  • Buen dia, una pregunta no se porque me sale error al querer convertir a lita, solo quiero poner esos campos de mi tabla.

     public List<Clientes> ListarClientes()
            {
                List<Clientes> lista = new List<Clientes>();
    
                try
                {
                    var act = from c in dm.Clientes
                              select new
                               {
                                  c.IdClientes,
                                  c.RazonSocial,
                                  c.Ruc,
                                  c.Direccion,
                              };
    
                    lista = act.ToList();                
                }
                catch (Exception ex)
                {
                    lista = null;
                    Console.Write(ex.Message);
                }
    
                return lista;
    
            }

    viernes, 24 de agosto de 2018 2:35