4

これは次のように述べています。

エンティティが読み込まれると、遅延読み込みを使用している場合でも、積極的な読み込みを使用している場合でも、エンティティをさらにクエリすると、オブジェクト状態マネージャーから直接読み込まれます。

プロキシルートエンティティのナビゲーションプロパティを使用してエンティティを遅延ロードし、そのナビゲート可能なエンティティがデータベースに存在する場合、そのナビゲート可能なエンティティに対する後続のすべての呼び出しでは、既にロードされているため、データベースヒットは発生しません。

ルートエンティティプロキシからのナビゲーションプロパティを使用してエンティティ(またはコレクション)を遅延ロードしようとして、それがデータベースに存在しない場合、つまりnullまたは空のコレクションを返す場合、以降のすべての試行は正しいと思いますか?同じルートエンティティから同じエンティティを遅延ロードすると、常にデータベースヒットが発生しますか?

4

2 に答える 2

2

いいえ、それはしません。のIsLoadedプロパティDbCollectionEntry<TEntity, TElement>DbReferenceEntry<TEntity, TProperty>は、読み込みが必要かどうかを判断するために使用されます。実際の値は、かどうかnullに関係なく関係ありません。

于 2013-01-03T01:57:34.533 に答える
0

いいえ、null/空のコレクション値がすでにロードされているためです。

于 2013-01-03T01:52:05.663 に答える