我有一个在.NET 3.5和.NET 4上运行的简单查询,如下所示:
var x = from o in Orders
join ot in OrderTypes on o.OrderTypeId equals ot.OrderTypeId
where or.OrderTypeName.Contains("sales")
select o;
var y = x.ToList();相同的代码在.NET 3.5和.NET 4上运行,连接到相同的数据库,这两个dbml文件都是在受人尊敬的.NET版本中生成的。两者都返回正确的记录数(大约350条记录)。DB表的索引正确。它们分别在VS2008和VS2010中以调试模式运行。当我在SQL Mgmt Studio中直接在T-SQL中运行查询时,它运行得很快,几乎是即时的。所以这绝对不是DB对象的问题。
问题是:在.NET 3.5中运行的那个运行得很快(正如它应该的,不到1秒,我没有精确的测量,但它几乎是瞬间的)。但是在.NET 4中运行的那个需要5秒以上的时间。
有人知道这是为什么吗?或者..。帮助?
发布于 2010-06-24 06:05:40
你可以尝试在VS2010中禁用IntelliTrace。
https://stackoverflow.com/questions/3103772
复制相似问题