sintaxis instrucciones framework ejemplos consultas consulta comandos anidadas all sql visual-studio linq select unique

sql - instrucciones - ¿Cómo puedo hacer SELECCIONAR ÚNICO con LINQ?



select all linq (3)

Distinct () va a estropear el orden, por lo que tendrá que ordenar después de eso.

var uniqueColors = (from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name).Distinct().OrderBy(name=>name);

Tengo una lista como esta:

Red Red Brown Yellow Green Green Brown Red Orange

Estoy tratando de hacer un SELECCIONAR ÚNICO 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 La primera select obtiene TODOS los colores, entonces ¿cómo la 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 del uso. Intente especificar los argumentos de tipo explícitamente.


Usando la sintaxis de comprensión de consulta, puede lograr el orden de la siguiente manera:

var uniqueColors = (from dbo in database.MainTable where dbo.Property orderby dbo.Color.Name ascending select dbo.Color.Name).Distinct();


var uniqueColors = (from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name).Distinct();