2011-04-29 81 views
0

如果實體A與實體B具有FK關係,並且在EF4內表示爲實體A中的導航屬性,那麼實體B的數據何時加載?是在創建A的實例時,還是僅在從A內訪問B時?導航屬性何時加載?

回答

1

這取決於加載方法:

  • 預先加載 - 查詢加載包含.Include(a => a.B)。在這種情況下,A和相關的B都在查詢執行期間被加載
  • 延遲加載 - 僅在第一個查詢期間加載A,並且如果它仍處於生存範圍內,一旦導航屬性第一次訪問,它可以觸發延遲加載B
  • 顯式加載 - 您將手動觸發加載通過調用context.LoadProperty(a, "B");