In this chapter, we introduced LINQ and discussed how it works. We also examined how different data domains can be queried and manipulated by using a uniform syntax that is integrated into current mainstream programming languages such as C# and Visual Basic. We took a look at the benefits offered by language integration, including declarative programming, type checking, and transparency across different type systems. We briefly presented the LINQ implementations available in .NET 3.5-LINQ to Objects, LINQ to ADO.NET and LINQ to XML-and we will cover them in more detail in later chapters of the book. Finally, we made some observations about the present state and the future direction of LINQ.