Вам нужно будет поделиться большим кодом, если вы хотите точное решение. Вы не опубликовали код, в котором вы на самом деле получаете объект (или коллекцию). Это может показаться неуместным, но это (вероятно) так, как я полагаю, вы делаете общую ошибку, которую люди делают с путями предварительной выборки, когда они впервые пытаются отсортировать или отфильтровать связанные объекты.
У вас есть путь предварительной выборки от PersonAppointmentType (PAT) до AppointType (AT). Это в основном говорит каркасу о необходимости выбирать PAT как один запрос, а затем, после того, как этот запрос завершен, выбирать AT на основе результатов запроса PAT. LLBLGen позаботится обо всем этом для вас и соединит объекты вместе, как только запросы будут завершены.
То, что вы пытаетесь сделать, это отсортировать первый запрос по сущности, которую вы выбираете во втором запросе. Если вы думаете в терминах SQL, вам нужно соединение из PAT => AT в первом запросе. Для этого вам нужно добавить отношение (соединение) через RelationPredicateBucket и передать его как часть вызова извлечения.
Поначалу это может показаться нелогичным, но отношения и пути предварительной выборки совершенно не связаны (хотя вы можете использовать их вместе). Возможно, вам даже не понадобится путь предварительной выборки; Может случиться так, что вам ТОЛЬКО нужно, чтобы в ваш код выборки было добавлено выражение отношения и сортировки (в зависимости от того, хотите ли вы на самом деле AT Entity на вашем графике, а не возможность сортировки по его полям).
Существует очень хорошее объяснение путей предварительной выборки и того, как они были здесь:
http://www.llblgening.com/archive/2009/10/prefetchpaths-in-depth/
Отправьте оставшуюся часть кода извлечения, и я смогу дать вам более точный ответ.