Ваш вопрос несколько сбивает с толку, поскольку в первую очередь он помечен как Entity Framework, так и LINQ-to-SQL. Какой ORM вы на самом деле используете?
Во-вторых, и более того, вы говорите, что хотите "sort Parent by Children Names"
. Какое имя ребенка вы хотите отсортировать? Вы понимаете, что не можете сравнить список имен с другим списком имен и решить, какое из них должно предшествовать другому?
Так что, если я предполагаю, что вы хотите отсортировать по дочернему имени, которое идет первым по лексикографии, ваше решение будет следующим (@Paul был близок к этому, но вам нужно указать свойство, по которому вы сортируете): *
context.
Parents.
OrderBy(p => p.
Children.
OrderBy(c => c.Name).Select(c => c.Name).FirstOrDefault()
);
В этом случае рассмотрите следующую настройку. Родитель PA
имеет детей CB
и CD
, а родитель PB
имеет детей CC
и CA
. В результате сортировки родительский элемент PB
будет первым в отсортированном списке, поскольку дочерний элемент CA
будет использоваться в качестве «основного» дочернего элемента для PB
, тогда как CB
будет «основным» дочерним элементом для PA
. Если это не то поведение, которое вы ищете, приведите пример и более четкое описание.