EntityFramework的对象缓存。获取已检索的对象

时间:2011-11-21 10:21:28

标签: entity-framework

当oject跟踪为On时,EF会记住它检索到的所有对象。 有没有其他方法可以说EF不要向DB请求对象并在其本地缓存中进行搜索?我知道GetObjectByKey方法在内存中查找对象,然后才在DB中查找。

1 个答案:

答案 0 :(得分:3)

您可以查询ObjectStateManager

var entities = context.ObjectStateManager()
                      .GetObjectStateEntries(~EntityState.Detached) // All attached entities
                      .Where(e => !e.IsRelationship)
                      .Select(e => e.Entity)
                      .OfType<YourEntityType>()
                      .Where(...);