2013-04-18 47 views
0

假設我有3個表:Table Employee,EmploymentHistory和Languages。一名員工可以有很多語言和工作經歷。使用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應用過濾器?例如:我想過濾德文公司的員工。它應該是員工「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進行高級篩選。

最好的問候,

布賴恩

回答

0

後的劇痛1日,最後,我已經找到了解決方案。我用microsoft Dynamic LINQ提供的動態linq來解決這個問題