2011-01-10 2 views
4

Возможный дубликат:
EF4 LINQ Ordering Parent and all child collections with Eager Loading (.Include())OrderBy на детей в LINQ запрос

Привет всем

У меня есть пользователя объект, который содержит один ко многим отношений с Роль предприятие

Так что с этим выражением Linq:

from user in USER_TABLE.Include("USERROLE_TABLE") 
order by user.Name 
select user 

я могу получить пользователь с соответствующими ролями, как ребенок. Моя проблема в том, что я хочу получить роли каждого пользователя, упорядоченного по алфавиту. Как я могу это сделать? Я много googled и ничего не нашел

Спасибо заранее!

+2

Что случилось, если вы заменили свой выбор на 'select user.Role'? –

ответ

1

Так, просто уточнить, у вас есть таблица, которая включает в себя по существу:

Name : Role 
-------------- 
Bob : leader 
Jane : scribe 
Bob : technician 
Bob : programmer 
Jane : entity 
Bob : adept 

и вы хотите, чтобы в конечном итоге с:

Bob : adept 
Bob : leader 
Bob : programmer 
Bob : technician 
Jane : entity 
Jane : scribe 

Если это так, то вы ищете на «orderby, thenby», который в LINQ, как мне кажется, указан запятой в этой части заявления LINQ:

orderby user.Name, user.Role 

Это то, что вы ищете?

+0

Нет, у меня есть два стола, он работает для меня? – eka808

+0

Но после включения у вас есть, по сути, одна коллекция, которую вы можете заказать, как вам нравится. Является ли вывод, на который я предложил то, что вы намереваетесь в конечном итоге, - что вы надеетесь заказать по одному критерию (имя), с результатами в рамках этих критериев, упорядоченными по последующим критериям (роли)? Или вы хотите получить сценарий, в котором у вас есть коллекция (пользователей) без дублирования, в которой у каждого пользователя есть поле первичных критериев (ролей), которое содержит список вторичных критериев (роли), содержащих не многие роли? –

Смежные вопросы