[英]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.