>Viv,
>
>For the single value it worked.
>
>However, I discovered that this code didn't work correctly:
>
>
> matrixTemplateViewModel.AllPossibleValues = _matrixTemplateValuesAdapter.GetAll().Select(v => new ValueAttribute
> {
> ValueName = v.ValueName,
> AttributeId = v.AtnameId,
> Hidden = v.Hidden
> }).Distinct().OrderBy(x=>x.AttributeId).ThenBy(y=>y.ValueName).ToList();
>
>The list I got back contained all rows form the templates table, not just distinct values by these 3 columns.
>
>Do you see what may be wrong here?
>
>I also tried
>
>
>var allValues = _matrixTemplateValuesAdapter.GetAll().Select(v => new ValueAttribute
> {
> ValueName = v.ValueName,
> AttributeId = v.AtnameId,
> Hidden = v.Hidden
> }).OrderBy(x=>x.AttributeId).ThenBy(y=>y.ValueName).ToList();
>
> matrixTemplateViewModel.AllPossibleValues = allValues.Distinct().ToList();
>
>but still got 192 values in both lists. I am supposed to get only 95 in the second list after selecting only distinct values.
>
>Thanks in advance.
Distinct uses the default equality comparer which, for an object, will be reference equality. You will need to implement the IEquatable interface on the ValueAttribute class so that Distinct will look for value equality