We have already seen some aspects of LINQ to DocumentDB in previous chapters but in this section we describe it in much more detail. We have seen ways to query our database using SQL and JavaScript or directly on the portal.
Microsoft have also provided a .NET SDK for DocumentDB that includes a LINQ provider. LINQ is used by many developers and architects because it offers a programming model that is consistent across different underlying databases or stores. The a LINQ provider translates LINQ query to a DocumentDB query, reducing the complexity for the programmer. Instead of executing raw SQL queries against DocumentDB, we can create an IQueryable object that queries the DocumentDB query provider. The provider translates the LINQ query into an SQL query and executes it. The result set that contains the JSON is then deserialized into a .NET object on the client.
For example, the following LINQ statement is translated to DocumentDB SQL:
query.Where (p => p.LastName...