In this chapter, we discussed the LINQ to ADO.NET implementations. LINQ to SQL allows querying a relational structure for converting LINQ queries into native SQL queries and accessing UDF and stored procedure if required. LINQ to DataSet interacts with typed and untyped DataSet structures. Finally, LINQ to Entities enables LINQ queries over entities defined in a logical model using the ADO.NET Entity Framework. All the LINQ implementations extend the existing base LINQ features that we saw in Chapter 4.