que tienen una lista como esta:¿Cómo puedo hacer SELECCIONAR ÚNICO con LINQ?
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
que estoy tratando de hacer una ÚNICA SELECT con LINQ, es decir, quiero
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
luego cambié esto a
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
con sin éxito. El primer select
obtiene TODOS los colores, entonces ¿cómo lo modifico solo para obtener los valores únicos?
Si hay una mejor manera de estructurar esta consulta, más que feliz de ir por esa ruta.
¿Cómo hago para editarlo y poder tener .OrderBy ("nombre de columna"), es decir, alfabéticamente por nombre de color, así que nombre la propiedad?
sigo recibiendo un mensaje:
Los argumentos de tipo no se pueden deducir a partir del uso. Intente especificar los argumentos de tipo explícitamente.
Gracias, esta es la respuesta correcta. ¿Alguien puede explicar qué incluye los parámetros .OrderBy()? Tienes nombre => nombre. ¿Ese nombre proviene del nombre de la columna en el DB? Porque tenemos 'dbo.Color.Name' luego simplemente' name => name' que me sugiere que no es el nombre de la columna? Bizarre también ordena correctamente si simplemente lo cambio a '.OrderBy (a => a)' – baron
El nombre de la variable es irrelevante. Es solo {objeto pasado a la función} => {objeto usado para ordenar}. Como ya hemos hecho la selección, lo único que se ordena en la colección son los nombres. –
Gracias a @JamesCurran, tu solución me ayudó mucho. – Ron