Your question is somewhat confusing, since first of all, it is tagged both with Entity Framework and LINQ-to-SQL. Which ORM are your actually using?
Secondly, and more to the point, you say that you want to "sort Parent by Children Names"
. Which child name do you want to sort by? You do realize that you can't compare a list of names to another list of names and decide which one should come before the other?
So if I assume you want to sort by the child name that comes first lexicographically, your solution would be the following (@Paul was close on this one, but you need to specify the property you are sorting by):
context.
Parents.
OrderBy(p => p.
Children.
OrderBy(c => c.Name).Select(c => c.Name).FirstOrDefault()
);
In this case, consider the following setup. Parent PA
has children CB
and CD
while parent PB
has children CC
and CA
. As a result of the sorting, parent PB
will come first in the sorted list, since child CA
will be used as the "main" child for PB
, while CB
will be the "main" child for PA
. If that's not the behavior you are looking for, please provide an example and a clearer description.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…