你把一次运行LinqToSQL生成的所有T-SQL都log出来看看,然后在SQL Server Management Studio里面手工跑一次,记下时间。或者用Profiler监视SQL Server执行的语句也可以。
因为有时候当Linq查询比较复杂时,LinqToSQL并不能一次就把查询转换成一条T-SQL,可能会产生N条语句。
多考虑代码的优化吧。
你是不是没有及时将DataContext使用Dispose方法进行释放呢
DataContext 好像是轻量级的东东,垃圾收集应该会很快吧。是不是生成的SQL语句问题。