Синтаксис в LINQ to Entities может быть похож на ваш SQL-запрос:
var result = from a in context.master_table
join b in context.detail_table on a.id equals b.a_id
orderby a.id, b.order_field
select new { /*...*/};
Редактировать:
С пояснениями из вашего комментария - Проблема в том, чточто в запросе SQL у вас есть пары элементов, к которым вы присоединяетесь (a, b) - в то время как в запросе Linq to Entities вы пытаетесь получить вторичный порядок с помощью свойства навигации .
Разница в том, что между записями master_table
и detail_table
в этом контексте существует отношение один ко многим, у вас уже есть группировка по записи master_table
- учитывая, что это не имеет смысла (компилятору или вообще), чтобы иметь возможность выразить этот порядок сортировки на уровне detail_table
.
Я бы просто применил его при перечислении результатов - записи master_table
уже находятся в правильном порядке, просто верните детали, используя foo.detail_tables.OrderBy(x=>x.order_field)
.