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();