>> 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();>>
>>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();>>
public List<ValueAttribute> GetAllPosibleValues() { List<ValueAttribute> result = _siriusContext.CoreContext.ExecuteStoreQuery<ValueAttribute> (@";with cte as (select t.value_name as ValueName, t.atname_id as AttributeId, t.hidden as Hidden, t.tmpnam_id as TemplateId, t.tmpl_order as SortOrder, row_number() over (partition by t.atname_id, t.value_name order by t.tmpnam_id, t.tmpl_order) as Rn from dbo.i_tmplat t) select ValueName, AttributeId, Hidden from cte where Rn = 1 ORDER BY AttributeId, TemplateId, SortOrder").ToList(); return result; }since I found that just SELECT DISTINCT didn't return exactly what I wanted in the right order.