我有一个从大部分只读数据库中提取的 EF5 Code First 项目,因此我使用.AsNoTracking()
绝大多数查询来提高性能。
不过,我很好奇:我有许多导航属性,有时了解它们是否已经加载会很有用,无论是.Include()
在源查询之后还是由于正在访问的属性(如果已配置用于延迟加载)。
通常我可以这样做:
context.Entry(myEntity).Reference(e => e.MyNavigationProperty).IsLoaded;
但自然这不适用于未跟踪的实体,因为它们是未跟踪的。我感觉答案是“否”,但是有没有办法确定导航属性是否已加载到未跟踪的实体上(而不诉诸任何混乱的东西,例如对动态代理的反射)?
谢谢!