動態添加包含表達式

c# entity-framework entity-framework-core linq

我正在使用Entity Framework Core,我有以下內容:

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

這表示在查詢中包含Country,User和User.Country:

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

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

有沒有辦法做到這一點?

一般承認的答案

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

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

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

var q = context.Jobs;

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


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow