As with all programming tasks, there are many different ways to create a program that solves the problem. The trick is, as ever, to write the program, get it working, and then optimise it. It may be that after you have your program up and running (and profiled), you’ll discover that there are some places that you’ve used LINQ which would be better off using stored procedures running within your database or vice versa or using LINQ to access stored procedures. The trouble is that whether LINQ is the best approach for your applications is something that you’ll find out only after you’ve worked with it for a while. What is sure though is that the advantages of using LINQ are so tremendous that it cries out for a code now, optimise later approach.