У меня есть этот код, но я думаю, что он может работать быстрее, или я просто надеюсь. Но у меня есть много данных. Я хотел бы, чтобы он был настолько эффективным, насколько это возможно.
Вот код:
(Необходимо возвращать новейшие переводы слов (Язык и значение) из ресурсов, сгруппированных по ресурсам и язык на основе Expression<Func<ResourcesTranslation, bool>> ConditionExpression
)
KeyValues = item.Resources
.Where(ConditionExpression)
.GroupBy(g => new { g.ResourceId, g.Language })
.Select(m => m.OrderByDescending(o => o.Changed ?? o.Created))
.Select( s => new KeyValues
{
Language = s.FirstOrDefault().Language,
KeyValue = s.FirstOrDefault().Value
}).ToList();