Fonctionnalités incluses dans EF Core 1.0Features included in EF Core 1.0

PlateformesPlatforms

.NET Framework 4.5.1.NET Framework 4.5.1

Inclut la console, WPF, WinForms, ASP.NET 4, etc.Includes Console, WPF, WinForms, ASP.NET 4, etc.

.NET Standard 1.3.NET Standard 1.3

Inclut ASP.NET Core ciblant à la fois .NET Framework et .NET Core sur Windows, OSX et Linux.Including ASP.NET Core targeting both .NET Framework and .NET Core on Windows, OSX, and Linux.

ModélisationModelling

Modélisation de baseBasic modelling

Basée sur les entités OCT avec des propriétés get/set de types scalaires communs (int, string, etc.).Based on POCO entities with get/set properties of common scalar types (int, string, etc.).

Relations et propriétés de navigationRelationships and navigation properties

Les relations un-à-plusieurs et un-à-zéro-ou un-à-un peuvent être spécifiées dans le modèle en fonction d’une clé étrangère.One-to-many and One-to-zero-or-one relationships can be specified in the model based on a foreign key. Les propriétés de navigation de types de collection ou de référence simples peuvent être associées à ces relations.Navigation properties of simple collection or reference types can be associated with these relationships.

Conventions intégréesBuilt-in conventions

Ces conventions génèrent un modèle initial basé sur la forme des classes d’entité.These build an initial model based on the shape of the entity classes.

API FluentFluent API

Permet de remplacer la méthode OnModelCreating sur votre contexte pour configurer davantage le modèle détecté par convention.Allows you to override the OnModelCreating method on your context to further configure the model that was discovered by convention.

Annotations de donnéesData annotations

Il s’agit d’attributs qui peuvent être ajoutés à vos propriétés/classes d’entité et qui influenceront le modèle EF.Are attributes that can be added to your entity classes/properties and will influence the EF model. Par exemple, l’ajout de la mention [Required] informera EF qu’une propriété est obligatoire.For example, adding [Required] will let EF know that a property is required.

Mappage de tables relationnellesRelational Table mapping

Permet de mapper des entités à des tables ou des colonnes.Allows entities to be mapped to tables/columns.

Génération de valeur de cléKey value generation

Inclut la génération côté client et la génération de base de données.Including client-side generation and database generation.

Valeurs générées de base de donnéesDatabase generated values

Permet à la base de données de générer des valeurs par insertion (valeurs par défaut) ou par mise à jour (colonnes calculées).Allows for values to be generated by the database on insert (default values) or update (computed columns).

Séquences dans SQL ServerSequences in SQL Server

Permet de définir des objets de la séquence dans le modèle.Allows for sequence objects to be defined in the model.

Contraintes uniquesUnique constraints

Permet de définir d’autres clés ainsi que les relations ciblant ces clés.Allows for the definition of alternate keys and the ability to define relationships that target that key.

IndexIndexes

La définition d’index dans le modèle introduit automatiquement les index dans la base de données.Defining indexes in the model automatically introduces indexes in the database. Les index uniques sont également pris en charge.Unique indexes are also supported.

Propriétés d’état de clichés instantanésShadow state properties

Permet de définir dans le modèle des propriétés qui ne sont pas déclarées ni stockées dans la classe .NET, mais qui peuvent être suivies et mises à jour par EF Core.Allows for properties to be defined in the model that are not declared and are not stored in the .NET class but can be tracked and updated by EF Core. Elles sont couramment utilisées pour les propriétés de clé étrangère quand l’exposition de ces dernières dans l’objet n’est pas souhaitée.Commonly used for foreign key properties when exposing these in the object is not desired.

Modèle d'héritage de table par hiérarchieTable-Per-Hierarchy inheritance pattern

Permet d’enregistrer les entités d’une hiérarchie d’héritage dans une table unique à l’aide d’une colonne de discriminateur pour identifier le type d’entité pour un enregistrement donné dans la base de données.Allows entities in an inheritance hierarchy to be saved to a single table using a discriminator column to identify they entity type for a given record in the database.

Validation de modèleModel validation

Détecte les modèles non valides dans le modèle et fournit des messages d’erreur utiles.Detects invalid patterns in the model and provides helpful error messages.

Change trackingChange tracking

Suivi des modifications par instantanéSnapshot change tracking

Permet de détecter automatiquement les modifications apportées aux entités en comparant l’état actuel avec une copie (instantané) de l’état d’origine.Allows changes in entities to be detected automatically by comparing current state against a copy (snapshot) of the original state.

Suivi des modifications par notificationNotification change tracking

Permet aux entités d’avertir le traceur de modifications dès que des valeurs de propriété sont modifiées.Allows your entities to notify the change tracker when property values are modified.

État du suivi de l’accèsAccessing tracked state

Via DbContext.Entry et DbContext.ChangeTracker.Via DbContext.Entry and DbContext.ChangeTracker.

Attachement d’entités/graphes détachésAttaching detached entities/graphs

La nouvelle API DbContext.AttachGraph permet de rattacher des entités à un contexte pour pouvoir enregistrer des entités modifiées ou de nouvelles entités.The new DbContext.AttachGraph API helps re-attach entities to a context in order to save new/modified entities.

Enregistrement de donnéesSaving data

Fonctionnalité d’enregistrement de baseBasic save functionality

Permet de conserver les modifications apportées aux instances dans la base de données.Allows changes to entity instances to be persisted to the database.

Accès concurrentiel optimisteOptimistic Concurrency

Évite le remplacement de modifications apportées par un autre utilisateur, sachant que les données ont été extraites de la base de données.Protects against overwriting changes made by another user since data was fetched from the database.

SaveChanges asynchroneAsync SaveChanges

Peut libérer le thread actuel pour traiter d’autres requêtes pendant que la base de données traite les commandes émises à partir de SaveChanges.Can free up the current thread to process other requests while the database processes the commands issued from SaveChanges.

Transactions de base de donnéesDatabase Transactions

Signifie que SaveChanges est toujours atomique (en d’autres termes, soit sa réussite est complète, soit aucune modification n’est apportée à la base de données).Means that SaveChanges is always atomic (meaning it either completely succeeds, or no changes are made to the database). Il existe également des API liées aux transactions pour autoriser le partage de transactions entre des instances de contexte, etc.There are also transaction related APIs to allow sharing transactions between context instances etc.

Relationnel : traitement par lot d’instructionsRelational: Batching of statements

Offre de meilleures performances en regroupant les différentes commandes INSERT/UPDATE/DELETE dans une seule boucle pour la base de données.Provides better performance by batching up multiple INSERT/UPDATE/DELETE commands into a single roundtrip to the database.

QueryQuery

Prise en charge de base de LINQBasic LINQ support

Offre la possibilité d’utiliser LINQ pour récupérer des données à partir de la base de données.Provides the ability to use LINQ to retrieve data from the database.

Évaluation du client/serveur mixteMixed client/server evaluation

Permet aux requêtes de contenir la logique qui ne peut pas être évaluée dans la base de données et qui doit par conséquent être évaluée une fois les données récupérées dans la mémoire.Enables queries to contain logic that cannot be evaluated in the database, and must therefore be evaluated after the data is retrieved into memory.

NoTrackingNoTracking

Permet d’accélérer l’exécution des requêtes quand le contexte n’a pas besoin de surveiller les changements apportés aux instances d’entité (cela s’avère utile si les résultats en lecture seule).Queries enables quicker query execution when the context does not need to monitor for changes to the entity instances (this is useful if the results are read-only).

Chargement hâtifEager loading

Fournit les méthodes Include et ThenInclude pour identifier les données associées qui doivent également être extraites durant l’interrogation.Provides the Include and ThenInclude methods to identify related data that should also be fetched when querying.

Requête asynchroneAsync query

Peut libérer le thread actuel (et ses ressources associées) pour traiter d’autres requêtes pendant que la base de données traite la requête.Can free up the current thread (and it's associated resources) to process other requests while the database processes the query.

Requêtes SQL brutesRaw SQL queries

Fournit la méthode DbSet.FromSql pour utiliser des requêtes SQL brutes pour extraire des données.Provides the DbSet.FromSql method to use raw SQL queries to fetch data. Ces requêtes peuvent également être composées à l’aide de LINQ.These queries can also be composed on using LINQ.

Gestion du schéma de base de donnéesDatabase schema management

API de création/suppression de base de donnéesDatabase creation/deletion APIs

Elles sont principalement conçues tester l’emplacement où vous souhaitez créer/supprimer rapidement la base de données sans utiliser de migrations.Are mostly designed for testing where you want to quickly create/delete the database without using migrations.

Migrations de base de données relationnelleRelational database migrations

Permet à un schéma de base de données relationnelle d’évoluer à travers le temps au fur et à mesure que votre modèle change.Allow a relational database schema to evolve overtime as your model changes.

Ingénierie à rebours à partir de la base de donnéesReverse engineer from database

Permet de générer automatiquement un modèle EF basé sur un schéma de base de données relationnelle existante.Scaffolds an EF model based on an existing relational database schema.

Fournisseurs de bases de donnéesDatabase providers

SQL ServerSQL Server

Se connecte à Microsoft SQL Server 2008 et versions ultérieures.Connects to Microsoft SQL Server 2008 onwards.

SQLiteSQLite

Se connecte à une base de données SQLite 3.Connects to a SQLite 3 database.

En mémoireIn-Memory

Fonctionnalité conçue pour tester facilement sans vous connecter à une base de données réelle.Is designed to easily enable testing without connecting to a real database.

Fournisseurs tiers3rd party providers

Plusieurs fournisseurs sont disponibles pour d’autres moteurs de base de données.Several providers are available for other database engines. Consultez Fournisseurs de bases de données pour en obtenir la liste complète.See Database Providers for a complete list.