Родительско-дочерний фильтр с QueryBuilder

Предположим, у меня есть 3 таблицы: таблица Employee, EmploymentHistory и Languages. Один сотрудник может иметь много языков и истории занятости.

Работник

ID  Name    Email
1   AAA aaa@gmail.com
2   BBB bbb@gmail.com
3   CCC ccc@gmail.com

Трудовая книжка

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? Пример: я хочу отфильтровать сотрудника с компанией Девон. Это должен быть сотрудник "ААА".

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 для расширенной фильтрации.

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

Брайан

1 ответ

Решение

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

Другие вопросы по тегам