У меня есть проблема с Linq, чтобы упорядочить такую структуру:
public class Person
{
public int ID { get; set; }
public List<PersonAttribute> Attributes { get; set; }
}
public class PersonAttribute
{
public int ID { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
Человек может выглядеть так:
PersonAttribute Age = new PersonAttribute { ID = 8, Name = "Age", Value = "32" };
PersonAttribute FirstName = new PersonAttribute { ID = 9, Name = "FirstName", Value = "Rebecca" };
PersonAttribute LastName = new PersonAttribute { ID = 10, Name = "LastName", Value = "Johnson" };
PersonAttribute Gender = new PersonAttribute { ID = 11, Name = "Gender", Value = "Female" };
Я хотел бы использовать проекцию LINQ для сортировки списка лиц по возрастанию по атрибуту person по моему выбору, например, сортировать по возрасту или сортировать по первому имени.
Я пытаюсь что-то вроде
string mySortAttribute = "Age"
PersonList.OrderBy(p => p.PersonAttribute.Find(s => s.Name == mySortAttribute).Value);
Но синтаксис терпит неудачу. Любые подсказки?