2017-06-13 11 views
2

SelectManyを使用するときに、EFコアに関連オブジェクトをインクルード/ロードさせる方法がわかりません。エンティティフレームワークコアSelectMany then Include

context.MyObject 
     .Where(w => w.Id == Id) 
     .SelectMany(m => m.SubObject) 
     .Include(i => i.AnotherType) 

崩壊したSubObjectコレクションにはnullが含まれていて、含まれていないことが考えられます。

時間を検索しています。

ご協力いただければ幸いです。それはあなたが唯一の熱心な負荷を使用することができます -

おかげ

答えて

4

は、それはEF6で動作するように使用されるが、現在はEFコアによってサポートされていない上記のようなものが

を働くだろうと思っているだろう

:ドキュメントのセクションが含まれて無視された - Loading Related Dataで述べたようにクエリは、エンティティで始まります0

クエリが開始されたエンティティタイプのインスタンスを返さないようにクエリを変更すると、インクルード演算子は無視されます。だからあなたのシナリオでは熱心な積み込み作業を取得する

、クエリは(あなたがSubObjectで逆ナビゲーションやFKプロパティを持っていると仮定して)このようにする必要があります:

context.SubObject 
     .Where(so => so.Object.Id == Id) // or so.ObjectId == Id 
     .Include(i => i.AnotherType) 
関連する問題