Product と Order の 2 つのエンティティと、それらの間の 1 つの多対多の関連付けを持つ単純な DbContext モデルがあります。製品インスタンスに関連付けられた特定の注文を明示的に読み込もうとしています。したがって、製品インスタンスのすべての注文を明示的にロードすることから始めました。
context.Entry(product).Collection(x=>x.Orders).Load();
product.Orders には、関連するすべての注文が含まれるようになりました。ここまでは順調ですね。ここで、次のように「.Query()」メソッドを使用して、より具体的なクエリを作成したいと思います。
context.Entry(product).Collection(x=>x.Orders).Query().Load();
驚いたことに、product.Orders は空になりました!
ドキュメントによると、Query() メソッドは「データベースからこのコレクションをロードするために使用されるクエリ」を返す必要があります。ObjectQuery を手動で実行すると、期待どおりの結果が得られます。
私は何か間違ったことをしていますか、これは EF のバグですか?
よろしくお願いします。
敬具、メリジン