I have a list like this:
Red
Red
Brown
Yellow
Green
Green
Brown
Red
Orange
I am trying to do a SELECT UNIQUE with LINQ, i.e. I want
Red
Brown
Yellow
Green
Orange
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name;
I then changed this to
var uniqueColors = from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name.Distinct();
with no success. The first select
gets ALL the colors, so how do I modify it to only get the unique values?
If there is a better way of structuring this query, more than happy to go that route.
How do I go about editing it so I can have .OrderBy( "column name" )
i.e. alphabetically by color name, so name property?
I keep getting a message:
The type arguments cannot be inferred from the usage. Try specifying the type arguments explicitly.
The Distinct()
is going to mess up the ordering, so you'll have to the sorting after that.
var uniqueColors =
(from dbo in database.MainTable
where dbo.Property == true
select dbo.Color.Name).Distinct().OrderBy(name=>name);