EF Enumerable.Contains和查询性能

时间:2017-04-15 16:08:14

标签: entity-framework entity-framework-6

在我的查询中我经常使用Enumerable.Contains(..),并且在复杂查询中,实际的查询编译需要永远(如10-20s),而查询执行只需不到一秒钟。

是否有人对此问题有任何建议(解决方法)。我需要使用Enumerable.Contains,因为我有一个具有层次结构的表(n级深)。如果我们采用一个众所周知的例子:

reinterpret_cast

等。如果我需要检索所有CPU的数据,我首先会获得属于该组(和子组)的所有产品的ID,然后使用

CPU
-- AMD
  -- FX
  -- A8
-- Intel
  -- I3
  -- I5

在查询中。这也可以防止缓存,因此始终会重新编译查询。如果有人知道更好的方式,我的耳朵是开放的。

此致 戈兰

0 个答案:

没有答案