2016-06-20 3 views
-1

У меня есть объект, где он возвращает IQueryable, который содержит ниже фрагменты кода:Сортировка IEnumerable <T> подарок внутри IQueryable <User>

public string employeeId{get;set:} 
public string employeeName {get;set:} 
public IEnumerable<Role> userRoles {get;set:} 

А по модели «Роль» У меня есть 2 свойства ниже:

public string roleDescription {get;set:} 
public string roleNumber {get;set:} 

Проблема заключается в том, что я могу выполнять сортировку на основе employeeId и employeeName, но не на основе roleDescription и roleNumber, поскольку тип имеет значение IEnumerable.

+1

И когда один 'userRoles' больше другого' userRoles'? – Servy

+0

@Servy. Никогда. В этом случае мы можем предположить, что номер роли будет одинаковым для всех, но описание роли зависит от пользователя, администратора, автора и т. Д. – user3715379

+0

Вам нужно будет сделать «SelectMany», чтобы заказать свойства «Роль». Можете ли вы показать нам свой фактический запрос. – juharr

ответ

1

основе Каждый IEnumerable элемент будет содержать только один элемент - это будет что-то вроде:

Employees.OrderBy(e => e.userRoles.First().roleDescription) 
+0

Спасибо! Позвольте мне попробовать здесь. – user3715379