Book Image

Mastering F#

By : Alfonso García-Caro Núñez, Suhaib Fahad
Book Image

Mastering F#

By: Alfonso García-Caro Núñez, Suhaib Fahad

Overview of this book

F# is a multi-paradigm programming language that encompasses object-oriented, imperative, and functional programming language properties. Now adopted in a wide range of application areas and is supported both by industry-leading companies who provide professional tools and by an active open community, F# is rapidly gaining popularity as it emerges in digital music advertising, creating music-focused ads for Spotify, Pandora, Shazam, and anywhere on the web. This book will guide you through the basics and will then help you master F#. The book starts by explaining how to use F# with Visual Studio, file ordering, and the differences between F# and C# in terms of usage. It moves on to explain the functional core of F# such as data types, type declarations, immutability, strong type interference, pattern matching, records, F# data structures, sequence expressions, and lazy evaluation. Next, the book takes you through imperative and asynchronous programming, F# type providers, applications, and testing in F#. Finally, we look into using F# with distributed programming and using F# as a suitable language for data science. In short, this book will help you learn F# for real-world applications and increase your productivity with functional programming.
Table of Contents (16 chapters)

SQL entity type provider


The entity type provider uses Entity Framework (EF) to work with the database. EF is an object-relational mapping (ORM) tool to model database objects such as SQL tables with .NET-compatible types. In this section, you will learn how to use EF with the F# SQL entity type provider.

Similar to what we saw in the SQL type provider section, we will prepare a NorthwindDB for testing.

Using the type provider

We will use the EF Code First approach to work with the database. EF Code First is a set of conventions that allows us to represent our data models and directly write the code without having to use other tools such as UML. First, we will set up a simple F# script file to explore the SQL entity type provider. Add the following code to start exploring LINQ to Entities:

    #r "System.Data.Entity.dll" 
    #r "FSharp.Data.TypeProviders" 
 
    open System 
    open System.Data 
    open System.Data.EntityClient 
    open Microsoft.FSharp.Data...