Back to Entityframework

Getting Started - EF Core

entity-framework/core/get-started/overview/first-app.md

latest4.7 KB
Original Source

Getting Started with EF Core

In this tutorial, you create a .NET console app that performs data access against a SQLite database using Entity Framework Core.

You can follow the tutorial by using Visual Studio on Windows, or by using the .NET CLI on Windows, macOS, or Linux.

View this article's sample on GitHub.

Prerequisites

Install the following software:

.NET CLI

Visual Studio


Create a new project

.NET CLI

dotnetcli
dotnet new console -o EFGetStarted
cd EFGetStarted

Visual Studio

  • Open Visual Studio
  • Click New project
  • Select Console App with the C# tag and click Next
  • Enter EFGetStarted for the name and click Create

Install Entity Framework Core

To install EF Core, you install the package for the EF Core database provider(s) you want to target. This tutorial uses SQLite because it runs on all platforms that .NET supports. For a list of available providers, see Database Providers.

.NET CLI

dotnetcli
dotnet add package Microsoft.EntityFrameworkCore.Sqlite

Visual Studio

  • Tools > NuGet Package Manager > Package Manager Console

  • Run the following commands:

    powershell
    Install-Package Microsoft.EntityFrameworkCore.Sqlite
    

Tip: You can also install packages by right-clicking on the project and selecting Manage NuGet Packages


Create the model

Define a context class and entity classes that make up the model.

.NET CLI

  • In the project directory, create Model.cs with the following code

Visual Studio

  • Right-click on the project and select Add > Class
  • Enter Model.cs as the name and click Add
  • Replace the contents of the file with the following code

[!code-csharpMain]

EF Core can also reverse engineer a model from an existing database.

Tip: This application intentionally keeps things simple for clarity. Connection strings should not be stored in the code for production applications. You may also want to split each C# class into its own file.

Create the database

The following steps use migrations to create a database.

.NET CLI

  • Run the following commands:

    dotnetcli
    dotnet tool install --global dotnet-ef
    dotnet add package Microsoft.EntityFrameworkCore.Design
    dotnet ef migrations add InitialCreate
    dotnet ef database update
    

    This installs dotnet ef and the design package which is required to run the command on a project. The migrations command scaffolds a migration to create the initial set of tables for the model. The database update command creates the database and applies the new migration to it.

Visual Studio

  • Run the following commands in Package Manager Console (PMC)

    powershell
    Install-Package Microsoft.EntityFrameworkCore.Tools
    Add-Migration InitialCreate
    Update-Database
    

    This installs the PMC tools for EF Core. The Add-Migration command scaffolds a migration to create the initial set of tables for the model. The Update-Database command creates the database and applies the new migration to it.


Create, read, update & delete

  • Open Program.cs and replace the contents with the following code:

    [!code-csharpMain]

Run the app

.NET CLI

dotnetcli
dotnet run

Visual Studio

Debug > Start Without Debugging


Next steps