source:
http://weblogs.asp.net/scottgu/archive/2006/09/01/Understanding-LINQ-to-SQL-Query-Translations.aspx
Scott posted two blog posts last weekend about using LINQ to easily perform data access against a database. Several people have asked me for more details on LINQ to SQL since then.
Sahil Malik made some excellent posts earlier this summer that go into more detail about LINQ to SQL (aka DLINQ) and how it works. You can read his posts here:
Bill Wagner has also recently made several great posts that go into more detail about how LINQ queries are translated and executed as SQL. You can read his posts here:
As Scott talked about in this recent blog post, one of the really cool things about LINQ is that you can always hover over a LINQ query while in the debugger to drill in and see the underlying SQL query that is ultimately executed:
You can then expand the debug visualizer to both see and execute the underlying SQL query while in the debugger:
This provides a really cool way to see what is happening under the covers and to easily experiment and adapt your queries however you want.