在Web应用程序中查询非常慢,但在linqpad中超快

时间:2015-11-16 11:32:48

标签: performance entity-framework linq firebird

我正在使用带有 Firebird 数据库的实体框架,如下所示 enter image description here

这里是我正在运行的查询

EventSource eventSource = EventSource.target(new CookieAddedWebTarget(target, 
                            new Cookie("name", "value"))).build();

在linqpad中需要大约0.08秒,但在网络应用程序中大约需要60秒!

它挂起在ToList()语句

此时我真的不知道该怎么想,所以任何帮助或想法都非常受欢迎。

感谢和美好的一天

1 个答案:

答案 0 :(得分:0)

在添加secondList条件后,您应该将ToList()检索更改为致电where。这样可以避免不必要地将记录记录到客户端。在这种情况下,您根本不需要ToList(),因为您可以将where包含在linq查询中。

var lst = from n in numberGroups
          where n.RemainderLIB != null)
          select new {
             RemainderCHAPLIB = n.RemainderCHAPLIB,
             RemainderLIB = n.RemainderLIB,
             RemainderRUNUM = n.RemainderRUNUM,
             VAL = n.vals.FirstOrDefault(),
             ANT = n.vals.Skip(1).FirstOrDefault()
          };