即使在延迟加载或显式加载

时间:2016-03-07 09:29:23

标签: c# entity-framework entity-framework-6

我有一个已经加载到DbContext中的Navigation属性(使用SQL Profiler验证,Visual Studio调试Intellisense显示为导航属性加载的完整代理对象)。 但是,在引用上调用DbReferenceEntry.IsLoaded始终会返回false。 我认为当对象加载到内存时,DbReferenceEntry.IsLoaded始终返回true。即使在引用上显式调用DbReferenceEntry.Load()之后,情况也不会改变。 我还意识到DbEntityEntry.State对象处于Modified状态,我想知道这是IsLoadedfalse的原因。

但是,访问导航属性不会对db(已通过SQL Profiler验证)进行任何延迟加载调用,这表示本地副本确实可以访问。

我的问题是:实体的DbReferenceEntry.IsLoaded是否依赖于实体的状态(例如State.Modified)?虽然我找不到任何似乎暗示这一点的文件。

编辑:

我运行的测试似乎表明IsLoaded属性不受Modified状态的影响。

我的问题是:即使相关属性已加载到上下文中,导致IsLoaded属性返回false的条件是什么?

0 个答案:

没有答案