This means that ADO.NET is faster. It also gives you a ton of more freedom to optimize your SQL queries (technically, you can use LINQ to SQL only with stored procedures, but you would skip the whole point).
The fact is that if you really really need optimization for better performance, then no one recommends using OR / M. There are tons of considerations with OR / M: s, in terms of performance. But many sites really do not need to optimize this for performance, in much the same way that we can afford to program in .NET rather than in assembler, although this is the same overhead compared to writing code at a lower level.
The point of using LINQ to SQL or NHibernate, or indeed any other OR / M, is that (as with the .NET analogy) it will give you a lot of convenience, and it will save you a lot of development time and make refactoring and other subsequent changes much simpler task.
source share