ここに私が試したことの束があります...うまくいけば、私がやろうとしていることと私が間違っていることを推測できます。さて、この DoQuery を使用すると、関連するエンティティの読み込みに問題が発生します。
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
return (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "]").Where(where.EvalPredicate);
}
これをそのまま使用すると、関連するエンティティを除くすべての適切なパラメータを含むオブジェクトが返されます...つまり。1 つが User テーブルを参照する UserID である場合、User オブジェクトも返されません。
.Include("User") を実行してエンティティの Eager Load を実行できることを読みましたが、これを試しても機能しません。
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
return (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "]").Include("User").Where(where.EvalPredicate);
}
また、エンティティ セット名とモデル名が「ユーザー」であることを確認しました。他に考えられる唯一のことは、に複数のものを入れること("[" + typeof(E).Name + "]")
ですが、そこに複数のエンティティを含める方法がわかりません... . 間に。
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
return (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "].[User]").Where(where.EvalPredicate);
}
しかし、それはうまくいきませんでした...
私が正しい軌道に乗っていない場合は、お知らせください。ObjectContext.CreateQuery を使用するときに関連エンティティを読み込む方法を知っている人はいますか? 提案や洞察が役立ちます。
ありがとう、
マット