Eu tenho uma lista como esta:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
Estou tentando fazer um SELECT UNIQUE com LINQ, ou seja, quero
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
Eu então mudei isso para
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
sem sucesso. O primeiro select
obtém TODAS as cores, então como faço para modificá-lo para obter apenas os valores exclusivos?
Se houver uma maneira melhor de estruturar essa consulta, mais do que feliz em seguir esse caminho.
Como faço para editá-lo para que possa ter .OrderBy ("nome da coluna"), ou seja, em ordem alfabética por nome de cor, então propriedade de nome?
Eu sempre recebo uma mensagem:
Os argumentos de tipo não podem ser inferidos do uso. Tente especificar os argumentos de tipo explicitamente.
dbo.Color.Name
então apenas oname=>name
que sugere para mim não é o nome da coluna? Bizarro também classifica corretamente se eu mudar para.OrderBy(a=>a)
fonte
Usando a sintaxe de compreensão de consulta, você pode obter a ordem da seguinte maneira:
fonte