Tengo una lista como esta:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
Estoy tratando de hacer un SELECT UNIQUE 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();
sin éxito. El primero select
obtiene TODOS los colores, entonces, ¿cómo lo modifico para obtener solo los valores únicos?
Si hay una mejor manera de estructurar esta consulta, más que feliz de seguir ese camino.
¿Cómo hago para editarlo para poder tener .OrderBy ("nombre de columna"), es decir, alfabéticamente por nombre de color, así que nombrar propiedad?
Sigo recibiendo un mensaje:
Los argumentos de tipo no se pueden inferir del uso. Intente especificar los argumentos de tipo explícitamente.
dbo.Color.Name
entonces loname=>name
que me sugiere que no es el nombre de la columna. Extraño, también se ordena correctamente si lo cambio a.OrderBy(a=>a)
fuente
Usando la sintaxis de comprensión de consultas, podría lograr el orden de la siguiente manera:
fuente