How do I use LINQ to obtain a unique list of properties from a list of objects?

IEnumerable<int> ids = list.Select(x=>x.ID).Distinct();

Use the Distinct operator:

var idList = yourList.Select(x=> x.ID).Distinct();

Using straight LINQ, with the Distinct() extension:

var idList = (from x in yourList select x.ID).Distinct();

When taking Distinct, we have to cast into IEnumerable too. If the list is <T> model, it means you need to write code like this:

 IEnumerable<T> ids = list.Select(x => x).Distinct();