Entity Framework Core

Salut les amis. En cette merveilleuse journée de mai, nous continuons à travailler et aujourd'hui, nous voulons parler du fait qu'en mai OTUS lance le cours «Développeur C #» que tout le monde aime , ainsi qu'un cours C # ASP séparé . NET Core . Traditionnellement, à la veille du début des cours, nous commençons à publier du matériel utile. Aller.




introduction


La plupart des applications ASP NET Core modernes utilisent Entity Framework Core. Entity Framework Core est une technologie permettant d'accéder aux bases de données de Microsoft. Il vous permet d'interagir avec le SGBD en utilisant des entités, c'est-à-dire des classes et des objets NET, plutôt que des tables de base de données. Il s'agit de l'outil ORM le plus célèbre et le plus fonctionnel en C #. ORM est un mappage relationnel-objet - mappant des données à des objets réels.

Par exemple, si un développeur travaille directement avec des bases de données, un programmeur devrait penser à se connecter, à préparer des paramètres SQL et SQL, à envoyer des requêtes et des transactions. Et avec l'aide d'Entity Framework Core, tout cela se fait automatiquement - le développeur travaille directement avec les classes NET.

Approches ORM


ORM a plusieurs approches.

Le premier est Code First. Cela implique que le code C # est écrit en premier, puis une base de données est créée à l'aide de ce code. Pour cette approche, il est très important de définir les classes du modèle ou de l'entité qui seront stockées dans la base de données, de les décrire dans les classes C # en tant que modèle et d'écrire une classe de contexte qui fonctionnera avec la base de données utilisée. L'approche Code First est le plus souvent utilisée par les programmeurs C #.

Deuxième approche- Database-First- convient à ceux qui connaissent bien SQL, mais dans ce cas, il n'est pas nécessaire de bien connaître C #. La base de données est d'abord créée, puis le modèle de base de données EDMX est généré. Ce XML dans le fichier .edmx contient des informations sur la structure de la base de données, le modèle de données et leur correspondance les uns avec les autres. Visual Studio dispose d'un concepteur graphique avec lequel vous pouvez travailler avec .edmx

Model-First - il s'agit de la troisième approche ORM. Il est souvent utilisé par les architectes, car avec cette approche, vous ne pouvez pas connaître la syntaxe SQL ou C #. Dans ce cas, un modèle graphique EDMX est d'abord créé, à ce moment, les classes de modèle C # sont créées en arrière-plan, puis une base de données est générée sur la base du diagramme EDMX.

Modèles de base Entity Framework


Toutes les tables de base de données sont définies dans Entity Framework comme des classes de modèles ou d'entités, en règle générale, selon le principe de 1 table, par exemple les utilisateurs, - 1 classe dans NET, par exemple, l'utilisateur. Ces paires sont appelées conventions, et elles sont définies dans la classe de contexte de données comme des ensembles DbSet et cette approche fonctionne par défaut.

Bien qu'il existe des mécanismes tels que l'API Fluent et les annotations de données, il est possible de remplacer ces conventions ou règles de configuration supplémentaires.

Migrations


Au cours du processus de développement, il est très probable que la classe de modèle Entity Framework ait changé et vous devez supprimer la base de données afin de maintenir la conformité du modèle. Mais lorsque vous supprimez une base de données, toutes les données qu'elle contient sont également supprimées.

Il existe une fonction de migration dans Entity Framework Core pour enregistrer les données lorsque le modèle change. Il vous permet d'appliquer de manière cohérente les modifications de schéma à la base de données afin de la synchroniser avec le modèle de données.

Dans la migration, certaines opérations vous permettent de supprimer, d'ajouter des colonnes et des tables, des clés étrangères, de modifier les paramètres des colonnes, d'ajouter, de supprimer et de modifier des données, etc. Lorsque vous créez une migration, une classe est automatiquement créée où les opérations nécessaires pour appliquer la migration Up () et la retourner à la méthode Down () sont effectuées.

LINQ


LINQ est inextricablement lié à Entity Framework dans NET. LINQ est une requête de langage intégré ou une requête intralingue - il s'agit d'une technologie qui est un ensemble de fonctions dans NET qui vous permettent d'écrire des requêtes de base de données structurées.

Pour travailler avec Entity Framework, Core utilise la technologie LINQ to Entities. LINQ utilise des expressions C # de type SQL pour récupérer les données d'une base de données. Toute base de données relationnelle fonctionne via des requêtes SQL et Entity Framework Core traduit les expressions LINQ to Entities en requêtes SQL compréhensibles pour la base de données utilisée.

Conclusion


Ainsi, nous avons brièvement passé en revue les capacités du Entity Framework Core. Comme vous l'avez vu, il est vraiment très puissant, et à tel point que le programmeur qui travaille avec lui n'a même pas besoin de connaître SQL. Et Entity Framework Core occupe à juste titre la première place parmi les ORM dans le monde NET.







All Articles