2
当对象跟踪处于开启状态时,EF会记住它检索到的所有对象。 还有什么其他方式可以说EF不会向DB请求该对象并在其本地缓存中进行搜索?我知道GetObjectByKey方法在内存中查找对象,并且仅在数据库中查找对象。EntityFramework的对象可以。获取已检索的对象
当对象跟踪处于开启状态时,EF会记住它检索到的所有对象。 还有什么其他方式可以说EF不会向DB请求该对象并在其本地缓存中进行搜索?我知道GetObjectByKey方法在内存中查找对象,并且仅在数据库中查找对象。EntityFramework的对象可以。获取已检索的对象
您可以查询ObjectStateManager
:
var entities = context.ObjectStateManager()
.GetObjectStateEntries(~EntityState.Detached) // All attached entities
.Where(e => !e.IsRelationship)
.Select(e => e.Entity)
.OfType<YourEntityType>()
.Where(...);