簡體   English   中英

實體框架5動態代理延遲加載:是否每次訪問null導航屬性都會命中數據庫?

[英]Entity Framework 5 dynamic proxy lazy loading: Does accessing null navigation property hit database everytime?

說明:

加載實體后,無論您使用的是延遲加載還是急切加載,對該實體的任何進一步查詢都將直接從對象狀態管理器中加載它。

如果我使用代理根實體的導航屬性延遲加載了一個實體,並且該可導航實體已存在於數據庫中,則對該可導航實體的所有后續調用都不會導致數據庫命中,因為該數據庫已被加載。

我是否正確假設,如果我嘗試使用根實體代理中的導航屬性來延遲加載一個實體(或集合),並且該實體(或集合)在數據庫中存在-因此返回null或空集合-所有后續嘗試從相同的根實體懶加載相同的實體總是導致數據庫命中嗎?

不,不會。 DbCollectionEntry<TEntity, TElement>DbReferenceEntry<TEntity, TProperty>IsLoaded屬性用於確定是否需要進行加載,實際值(無論是否為null )無關緊要。

否,因為它將已經加載了null / empty集合值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM