Vue d’ensemble d’Entity Framework CoreEntity Framework Core Quick Overview

Entity Framework (EF) Core est une version légère, extensible et multiplateforme de la technologie d’accès aux données Entity Framework populaire.Entity Framework (EF) Core is a lightweight, extensible, and cross-platform version of the popular Entity Framework data access technology.

EF Core peut servir de mappeur relationnel/objet (O/RM), permettant aux développeurs .NET de travailler avec une base de données à l’aide d’objets .NET, et éliminant la nécessité de la plupart du code d’accès aux données qu’ils doivent généralement écrire.EF Core can serve as an object-relational mapper (O/RM), enabling .NET developers to work with a database using .NET objects, and eliminating the need for most of the data-access code they usually need to write.

EF Core prend en charge de nombreux moteurs de base de données ; consultez Fournisseurs de base de données pour plus d’informations.EF Core supports many database engines, see Database Providers for details.

Si vous voulez approfondir vos connaissances en écrivant du code, nous vous recommandons un de nos guides de démarrage pour commencer avec EF Core.If you like to learn by writing code, we'd recommend one of our Getting Started guides to get you started with EF Core.

Nouveautés d’EF CoreWhat is new in EF Core

Si vous connaissez déjà EF Core et souhaitez vous plonger directement dans les détails des dernières versions :If you are familiar with EF Core and want to jump straight into the details of the latest releases:

Obtenir Entity Framework CoreGet Entity Framework Core

Installez le package NuGet pour le fournisseur de base de données que vous souhaitez utiliser.Install the NuGet package for the database provider you want to use. Par exemple,E.g. pour installer le fournisseur SQL Server dans un développement multiplateforme à l’aide de l’outil dotnet depuis la ligne de commande :to install the SQL Server provider in cross-platform development using dotnet tool in the command line:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

Ou, dans Visual Studio, à l’aide de la console du Gestionnaire de package :Or in Visual Studio, using the Package Manager Console:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Consultez Fournisseurs de base de données pour plus d’informations sur les fournisseurs disponibles et Installation d’EF Core pour découvrir la procédure d’installation détaillée.See Database Providers for information on available providers and Installing EF Core for more detailed installation steps.

ModèleThe Model

Avec EF Core, l’accès aux données est effectué à l’aide d’un modèle.With EF Core, data access is performed using a model. Un modèle est composé de classes d’entité et d’un contexte dérivé qui représente une session avec la base de données, ce qui vous permet d’interroger et d’enregistrer des données.A model is made up of entity classes and a derived context that represents a session with the database, allowing you to query and save data. Pour en savoir plus, consultez Création d’un modèle.See Creating a Model to learn more.

Vous pouvez générer un modèle à partir d’une base de données existante, coder manuellement un modèle en fonction de votre base de données ou utiliser EF Migrations pour créer une base de données à partir de votre modèle (et la faire évoluer au même rythme que celui-ci).You can generate a model from an existing database, hand code a model to match your database, or use EF Migrations to create a database from your model (and evolve it as your model changes over time).

using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;

namespace Intro
{
    public class BloggingContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
        }
    }

    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
        public int Rating { get; set; }
        public List<Post> Posts { get; set; }
    }

    public class Post
    {
        public int PostId { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }

        public int BlogId { get; set; }
        public Blog Blog { get; set; }
    }
}

InterrogationQuerying

Les instances de vos classes d’entité sont récupérées de la base de données à l’aide de LINQ (Language Integrated Query).Instances of your entity classes are retrieved from the database using Language Integrated Query (LINQ). Pour en savoir plus, consultez Interrogation des données.See Querying Data to learn more.

using (var db = new BloggingContext())
{
    var blogs = db.Blogs
        .Where(b => b.Rating > 3)
        .OrderBy(b => b.Url)
        .ToList();
}

Enregistrement de donnéesSaving Data

Les données sont créées, supprimées et modifiées dans la base de données à l’aide d’instances de vos classes d’entité.Data is created, deleted, and modified in the database using instances of your entity classes. Pour en savoir plus, consultez Enregistrement de données.See Saving Data to learn more.

using (var db = new BloggingContext())
{
    var blog = new Blog { Url = "http://sample.com" };
    db.Blogs.Add(blog);
    db.SaveChanges();
}