es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consulta de Linq seleccionar nuevo con List: Se trata de una consulta de Linq que utiliza la expresión “select new”, con una lista (List) como parámetro. Translated: Consulta de Linq seleccionar nuevo con List: This is a Linq query that uses the “select new” expression, with a list (List) as a parameter.

Estoy haciendo una consulta que devuelve los nombres de los compradores agrupados por la marca de los productos que han comprado. Hasta ahora, he llegado aquí:

var consulta = from p in purchaseRepo.ReadAll()
join g in guitarRepo.ReadAll() on p.GuitarId equals g.Id
join b in brandRepo.ReadAll() on g.BrandId equals b.Id
group p by b.Id into grp
select new
{
grp.Key,
grp.SelectMany(t => t.BuyerName)
};

Mi problema es que me gustaría tener una lista o un array de los nombres de los compradores declarados en la parte de select new, pero no puedo hacer que funcione.

EDITAR:
He dado nombres a los campos en select new y parece así:

select new
{
Brand=grp.Key,
Buyers=new List()
};

Ahora solo necesito saber cómo obtener los nombres de los compradores en la lista.

El resultado debería ser algo así:
Marca1 —> Lista de nombres de compradores.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener los nombres de los compradores en la Lista de la nueva selección, puede utilizar el método AddRange para agregar los nombres de los compradores del grupo a la Lista. Aquí hay una versión actualizada del código:

    var query= from p in purchaseRepo.ReadAll()
                      join g in guitarRepo.ReadAll() on p.GuitarId equals g.Id
                      join b in brandRepo.ReadAll() on g.BrandId equals b.Id
                      group p by b.Id into grp
                      select new 
                      {
                         Brand = grp.Key,
                         Buyers = grp.Select(t => t.BuyerName).ToList()
                      };
    

    Este código crea un nuevo objeto con dos propiedades: Marca y Compradores. La propiedad Marca se establece en la clave del grupo (el id de la marca), y la propiedad Compradores se establece en una Lista de los nombres de los compradores del grupo. El método Select se utiliza para extraer la propiedad BuyerName de cada elemento del grupo, y ToList se utiliza para convertir la secuencia resultante en una Lista.

    Con este código, la consulta resultante devolverá una secuencia de objetos que contienen el id de la marca y una Lista de los nombres de los compradores correspondientes.

Comments are closed.