I read this post with interest, apparently Linq for SQL is doing something odd, because I can't quite believe the results that this guy is getting. From the post:
So I dug into the call graph a bit and found out the code causing by far the most damage was the creation of the LINQ query object for every call! The actual round trip to the database paled in comparison
I can't imagine what they are doing there to cause this performance characteristics.
From my own experiments with Linq, it should definitely not produce this amount of efforts.