5

Entity Framework のナビゲーション プロパティの前に virtual キーワードが必要であることがわかっています。そうしないと、EF はナビゲーション プロパティの魔法を実行できません。しかし、virtual キーワードを他のプロパティの前に置くと、どのような効果があるのでしょうか? 最近、エンティティのすべてのプロパティが virtual キーワードで宣言されている例を見ました。それを行うと、EF 5 は本当にすべてのプロパティを遅延ロードしますか?それとも、それがどのように機能するかについて何か不足していますか?

4

1 に答える 1

2

遅延読み込みには、ナビゲーション プロパティに virtual キーワードを使用する必要があります。動的な変更の追跡には、マップされたすべてのプロパティで virtual キーワードを使用する必要があります。すべての要件とオプションはドキュメントに記載されています

EF 4.0 では動的変更追跡が推奨されるアプローチであり、そのため POCO T4 ジェネレーターは仮想プロパティを使用していましたが、EF 4.1 以降では、スナップショット変更追跡がパフォーマンスの問題の犠牲になっている場合にのみ、動的変更追跡に移行する初期オプションとしてスナップショット変更追跡が推奨されます。

于 2012-10-09T10:41:19.550 に答える