LINQ (Language Integrated Query) to SQL is a great tool because it allows developers to concentrate on business problems instead of worrying about writing SQL. Unfortunately, generated code typically comes with a catch. My general rule of thumb is that "I never trust any tools that have a wizard or generate code". After all, everytime you release code into production you are putting your reputation on the line. Therefore, don't you think it is important to know what your code is really doing under the covers?