1

Entity Frameworkで、 Includeと結合する必要のある関係を指定できることを理解しています。

Product firstProduct = 
       db.Product.Include("OrderDetail").Include("Supplier").First();

ただし、単純なLINQステートメントでSQLサーバー上でJOINがすぎるという反対の問題があります。

では、逆のことを行うにはどうすればよいでしょうか。つまり、すべての注文を取得したときに結合テーブルのディープロードを行わないようにエンティティに指示して、SQLServerで次のように実行します。

SELECT * FROM Orders
4

1 に答える 1

2

Entity Framework は、多くの場合、先に進み、基本的な関係情報も読み込みます。

これにより、リレーションシップに対する EF 独自の同時実行ポリシーに違反することなく、ユーザーが簡単に更新できるようになります。

ただし、トラッキングなしのクエリを実行することで、これをオフにすることができます。

詳細については、ヒント 11 - 関係のスパンを回避する方法を参照してください。

アレックス

于 2009-11-06T04:16:04.397 に答える