动态添加包含表达式

Mig*_*ura 0 c# linq entity-framework entity-framework-core

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

String expression = "Country;User;User.Country"
Run Code Online (Sandbox Code Playgroud)

这表示在查询中包含Country,User和User.Country:

var q = context.Jobs
          .Include(x => x.Country)
          .Include(x => x.User).ThenInclude(x => x.Country);
Run Code Online (Sandbox Code Playgroud)

我不知道将包含什么表达式.我只知道它将是一个实体列表,有或没有子实体(例如:User.Country),我需要构建包含表达式.

有没有办法做到这一点?

Kah*_*azi 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);
Run Code Online (Sandbox Code Playgroud)