What will LINQ do for me?

When we announced LINQ at the PDC a few weeks ago, it was not entirely clear to many how it would present an advantage for developers who are already proficient with SQL.

This week Anders Hejlsberg did a quick internal demo where he built an application using C# that queried a window process, joined the result set with a query from a SQL database and produced an XML file with the results using an RSS schema. All three data operations were executed using a common language and the way the app manipulated data really abstracted the data source (memory, relational database and XML). Including step by step explanations and showing results at each step, the whole demo took about 5 minutes and some 30 lines of code.

Without LINQ, a programmer would not only have to use different APIs for each datasource (SQL, XPath, etc.) to run the queries but would have to manually perform the join and ensure the data types are compatible. The simplicity of the LINQ approach makes developers more productive, and because of its simplicity, reduces the chances of bugs making your code more stable and easier to maintain. You can learn more about LINQ at MSDN