Type providers are powerful ways of dealing with structured data from XML documents, SQL databases, and CSV files. They combine the type system of F# with structured data, which can be a tedious task in statically typed languages in many cases. Using type providers, the type of the data source is automatically converted to native types; this means the data is parsed and stored using the same field names as used in the data source. This enables Visual Studio and IntelliSense to support you in your coding without looking in the data source for the field names all the time.
LINQ is a feature in the .NET framework and has been supported in F# since Version 3.0. It's used to provide powerful query syntax and can be used together with databases, XML documents, .NET collections, and so on. In this section we'll briefly introduce LINQ and see how we can use it together with a SQL database. But first we'll look at LINQ together with collections:
First we...