This should work if you are using Linq-to-SQL
from q in T
orderby q.As.OrderByDescending(p => p.Beginning).FirstOrDefault().B.C
select q;
If this is actually Linq-to-Objects you will need to do this
from q in T
let x = q.As.OrderByDescending(p => p.Beginning).FirstOrDefault()
orderby x == null ? null : x.B.C
select q