我是C#和LINQ的新手,但后者非常酷。除了我不知道这里发生了什么:在SQL中使用LINQ查询:语法差异会导致挂起和SQLException?
我有以下一段代码,它按预期方式运行;它排序,选择前100个记录:
IEnumerable<workerLog> query =
(from record in _gzClasses.workerLogs
orderby record.workerID, record.timeStamp ascending
select record).Take(100);
foreach(var record in query)
{
Console.WriteLine(record.timeInSession.ToString());
}
,但是当我这样做,同样的线路进行打印,但随后的程序挂起了一下,则抛出SQLException说服务器超时。
IEnumerable<workerLog> query =
from record in _gzClasses.workerLogs
orderby record.workerID, record.timeStamp ascending
select record;
foreach(var record in query.Take(100))
{
Console.WriteLine(record.timeInSession.ToString());
}
世界上有什么不同?它与LINQ查询的执行方式有什么关系?来自Java世界,这是没有意义的。
尝试运行sql分析器并查看正在执行的查询。有区别吗? – 2012-08-02 22:05:31