У меня есть класс Category
public class Category
{
public long Id { get; set; }
public Translation[] Translations { get; set; }
}
и класс перевода
public class Translation
{
public string Locale { get; set; }
public string Name { get; set; }
}
У меня есть список категорий List<Category>
, который заполняется объектами категорий. Я хочу упорядочить мой unorderedCategoryList
в алфавитном порядке по полю Name в Translation
на основе указанного Locale .
Так, например, у меня есть 3 категории:
{1, ["EN","aaa"], ["RU","zzz"]}
{2, ["EN","ccc"], ["RU","eee"]}
{3, ["EN","bbb"], ["RU","aaa"]}
Упорядочение их с указанным языком EN
приведет к списку, упорядоченному следующим образом:
{1, ["EN","aaa"], ["RU","zzz"]}
{3, ["EN","bbb"], ["RU","aaa"]}
{2, ["EN","ccc"], ["RU","eee"]}
и на RU
вот так:
{3, ["EN","bbb"], ["RU","aaa"]}
{2, ["EN","ccc"], ["RU","eee"]}
{1, ["EN","aaa"], ["RU","zzz"]}
Эта строка кода, насколько я понял, но, похоже, не работает:
var sortedList = unorderedCategoryList.OrderBy(go => go.Translations.Where(t => t.Locale == "EN").Select(t => t.Name)).ToList();