我有一个已经加载到DbContext中的Navigation属性(使用SQL Profiler验证,Visual Studio调试Intellisense显示为导航属性加载的完整代理对象)。
但是,在引用上调用DbReferenceEntry.IsLoaded始终会返回false
。
我认为当对象加载到内存时,DbReferenceEntry.IsLoaded始终返回true
。即使在引用上显式调用DbReferenceEntry.Load()之后,情况也不会改变。
我还意识到DbEntityEntry.State对象处于Modified
状态,我想知道这是IsLoaded
是false
的原因。
但是,访问导航属性不会对db(已通过SQL Profiler验证)进行任何延迟加载调用,这表示本地副本确实可以访问。
我的问题是:实体的DbReferenceEntry.IsLoaded是否依赖于实体的状态(例如State.Modified
)?虽然我找不到任何似乎暗示这一点的文件。
我运行的测试似乎表明IsLoaded
属性不受Modified
状态的影响。
我的问题是:即使相关属性已加载到上下文中,导致IsLoaded
属性返回false
的条件是什么?