表現を動的に追加する

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式を構築する必要があります。

これを行う方法はありますか?

受け入れられた回答

インクルードメソッドを呼び出すには2つの方法があります。 1つは式で、もう1つは文字列で表します。

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
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ