C# DbReferenceEntry.IsLoaded始终为导航属性返回false,即使在延迟加载或显式加载之后也是如此
我有一个导航属性,它已经加载到DbContext中(使用SQL Profiler进行验证,Visual Studio debug Intellisense显示为导航属性加载的完整代理对象)。 但是,调用引用总是返回C# DbReferenceEntry.IsLoaded始终为导航属性返回false,即使在延迟加载或显式加载之后也是如此,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我有一个导航属性,它已经加载到DbContext中(使用SQL Profiler进行验证,Visual Studio debug Intellisense显示为导航属性加载的完整代理对象)。 但是,调用引用总是返回false。 我认为当对象加载到内存中时,保证总是返回true。即使在对引用进行了显式调用之后,情况也不会改变。 我还意识到对象处于Modified状态,我想知道这是否就是IsLoaded为false的原因 但是,访问导航属性不会对数据库进行任何延迟加载调用(使用SQL Profile
false
。
我认为当对象加载到内存中时,保证总是返回true
。即使在对引用进行了显式调用之后,情况也不会改变。
我还意识到对象处于Modified
状态,我想知道这是否就是IsLoaded
为false
的原因
但是,访问导航属性不会对数据库进行任何延迟加载调用(使用SQL Profiler验证),这表明本地副本确实可以访问
我的问题是:适用于依赖于实体状态的实体(例如,状态。修改的
)?虽然我找不到任何文件,似乎表明这一点
编辑: 我运行的测试似乎表明
IsLoaded
属性不受Modified
状态的影响
我的问题是:什么条件会导致IsLoaded
属性返回false
,即使相关属性已加载到上下文中