2013-04-18 2 views
0

Предположим, у меня есть таблица 3: Сотрудник таблицы, EmploymentHistory и Языки. Один сотрудник может иметь много языков и истории занятости.Родительский фильтр с QueryBuilder

Сотрудник

ID Name Email 
1 AAA [email protected] 
2 BBB [email protected] 
3 CCC [email protected] 

История занятости

ID EmployeeID Company   Position 
1 1   Devon Energy aaa 
2 2   Emric   bbb 
3 3   Capcom   ccc 

Язык

ID EmployeeID Language Level 
1 1   English  Expert 
2 2   Dutch  Expert 
3 3   Franch  Expert 

Как применить фильтр с помощью ObjectQuery QueryBuilder? Пример: я хочу фильтровать сотрудника с компанией devon. Это должен быть сотрудник «AAA».

var emp = Translate(context.Employees.Include("EmploymentHistories")); 

public ObjectQuery<T> Translate<T>(ObjectQuery<T> objectQuery) 
{ 
     objectQuery.Where("it.EmploymentHistories.Company = 'Devon Energy'"); // EmploymentHistories.Company is not found. How can I filter through it included property 
} 

Примечание: Я использую QueryBuilder для расширенной фильтрации.

С наилучшими пожеланиями,

Brian

ответ

0

После 1 дня мучительной боли, наконец, я нашел решение. Я использовал динамический linq, предоставленный microsoft Dynamic LINQ, чтобы решить эту проблему.

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