2016-06-28 45 views
0

我使用實體框架的核心,我有以下幾點:添加包括表達式動態

String expression = "Country;User;User.Country" 

這表明,包括國家,用戶和User.Country在查詢:

var q = context.Jobs 
      .Include(x => x.Country) 
      .Include(x => x.User).ThenInclude(x => x.Country); 

我做不知道表達會包含什麼。我只知道它將是一個實體列表,有或沒有子實體(例如:User.Country),我需要構建包含表達式。

有沒有辦法做到這一點?

+0

查看重複,只是分割字符串,所以你有一個數組。 – CodeCaster

回答

5

有兩種方法可以調用include方法。一個是表達式,另一個是字符串。

String expression = "Country;User;User.Country" 

string includes = expression.split(';'); 

var q = context.Jobs; 

foreach (string include in includes) 
    q = q.Include(include);