我正在使用 ObjectSet 的方法在表中执行各种查询,即从中选择一些记录:
var results = Repository.Find(c => c.Enabled == 1).ToList();
这是我的存储库的 Find 方法:
public IEnumerable<T> Find(Func<T, bool> predicate)
{
try
{
return _objectSet.Where<T>(predicate);
}
catch
{
throw;
}
}
现在,如果目标表中有大约 1,000,000 条记录,我可以看到进程的内存使用量增长了很多,即使我正在执行的Find调用应该最多返回几条记录。
似乎所有记录都被拉到客户端,然后被过滤。这显然不是我想要 LINQ 做的。
你觉得我在做什么明显有问题吗?
提前致谢。