Maison  >  Article  >  développement back-end  >  Entité Framework C#

Entité Framework C#

王林
王林original
2024-09-03 15:20:001072parcourir

L'article suivant fournit un aperçu d'Entity Framework C#. Entity Framework est un mappage relationnel objet (ORM) qui contribue à améliorer la productivité de l'application de l'utilisateur en éliminant les tâches redondantes dans l'application. EF crée les commandes DB requises pour écrire ou lire les données dans la base de données et les exécute parfaitement. Enfin, EF exécute la requête dans DB et transforme les résultats en objets de domaine pour fonctionner avec l'application.

Qu'est-ce qu'Entity Framework en C# ?

Entity Framework est un framework de mappage relationnel objet-source (ORM) pour les applications .Net, qui permet aux développeurs de travailler sur des données relationnelles en utilisant l'objet spécifique au domaine sans connaître les colonnes et les tables de la base de données où se trouve le les données sont stockées. De plus, il montre qu'Entity Framework minimise les codes d'accès aux données que les développeurs écrivent habituellement.

Entity Framework dans les projets C#

Supposons que les tables Département et Employé soient considérées comme si la table contient les enregistrements de plusieurs départements et les employés de différents départements.

Pour y parvenir, nous devons construire les classes Département et Employé. Ensuite, pour récupérer ces données de la base de données, nous devons coder ADO.NET. Enfin, lorsque les données sont récupérées, nous devons créer des objets Employé et Département pour les remplir avec les données récupérées.
Tout ce qui précède est fastidieux, mais grâce à Entity Framework, c'est facile ; ces choses peuvent être faites automatiquement ; nous devons fournir un schéma DB à EF. Voyons les étapes suivantes pour créer une application à l'aide d'EF.

Pour créer le schéma de base de données, utilisez le script SQL pour créer la base de données EF_Demo_DB et également pour créer des tables d'employé et de service

Code :

-- to create the Database EF_Demo_DB
CREATE DATABASE EF_Demo_DB;
GO
-- Use EF_Demo_DB database
USE EF_Demo_DB;
GO
-- to Create the table Departments
CREATE TABLE Departments
(
ID INT PRIMARY KEY IDENTITY(1,1),
Name VARCHAR(50),
Location VARCHAR(50)
)
Go
-- to Create the table Employees
CREATE TABLE Employees
(
ID INT PRIMARY KEY IDENTITY(1,1),
Name VARCHAR(50),
Email VARCHAR(50),
Gender VARCHAR(50),
Salary INT,
DepartmentId INT FOREIGN KEY REFERENCES Departments(ID)
)
Go
-- --to Populate the table with few records
INSERT INTO Departments VALUES ('HR', 'Bangalore')
INSERT INTO Departments VALUES ('Sales', 'Cochin')
INSERT INTO Departments VALUES ('IT', 'Chennai')
Go
--to Populate the table with few records
INSERT INTO Employees VALUES ('Philip', '[email protected]', 'Male', 45000, 2)
INSERT INTO Employees VALUES ('Mary', '[email protected]', 'Female', 30000, 2)
INSERT INTO Employees VALUES ('Valarie', '[email protected]', 'Female', 35000, 3)
INSERT INTO Employees VALUES ('John', '[email protected]', 'Male', 80000, 1)
INSERT INTO Employees VALUES ('Joseph', 'jojog.com', 'Male', 60000, 1)
INSERT INTO Employees VALUES ('Steve', '[email protected]', 'Male', 45000, 3)
INSERT INTO Employees VALUES ('Peter', '[email protected]', 'Male', 60000, 1)
INSERT INTO Employees VALUES ('Rio', '[email protected]', 'Female', 345000, 3)
INSERT INTO Employees VALUES ('Ben', '[email protected]', 'Male', 70000, 1)
Go

Pour créer l'application console

Une fois les données prêtes, créez une nouvelle application console avec le nom EFDemo comme indiqué ci-dessous :

Entité Framework C#

Pour ajouter le modèle de données d'entité ADO.NET

Pour créer l'application console, ajoutez le modèle de données d'entité ADO.NET et cliquez avec le bouton droit sur le projet, puis ajoutez -New Item-Data- ADO.NET Entity Data Model et nommez EmployeeDataModel comme indiqué ci-dessous.

Entité Framework C#

Une fois cliqué sur le bouton Ajouter, sélectionnez le concepteur EF dans la base de données et cliquez sur le bouton Suivant comme indiqué ci-dessous pour choisir le concepteur EF dans la base de données ; ici, nous utilisons EF Database First Approach.

Entité Framework C#

Une fois que vous avez cliqué sur le bouton Suivant, il vous demande de choisir l'assistant de connexion de données comme indiqué ; cliquez sur le bouton Nouvelle connexion.

Entité Framework C#

Une fois cliqué sur ce bouton Nouvelle connexion, fournissez les détails de la base de données nécessaires et enfin, « Tester la connexion » et cliquez sur OK.

Entité Framework C#

Sélectionnez la connexion de données et enregistrez les paramètres de connexion de l'entité dans l'application. Ensuite, configurez comme indiqué ci-dessous, donnez le nom EF_Demo_DBEntities et cliquez sur le bouton Suivant.

Entité Framework C#

Ici, il vous demande de sélectionner Entity Framework 6.x et de sélectionner le bouton Suivant comme indiqué.

Entité Framework C#

Choisissez les tables souhaitées, remplacez l'espace de noms du modèle par « EmployeeModel » et cliquez sur le bouton Terminer comme indiqué.

Entité Framework C#

Cliquer sur le bouton Terminer génère le fichier EmployeeDataModel.edmx.

Entité Framework C#

Voici la structure du fichier EDMX comme indiqué ci-dessous,

Entité Framework C#

À l'aide de l'EF, nous avons créé l'application.

Code :

namespace EFDemo
{
class Program
{
static void Main(string[] args)
{
using (EF_Demo_DBEntities DBEntities = new EF_Demo_DBEntities())
{
List<Department> listDepartments = DBEntities.Departments.ToList();
Console.WriteLine();
foreach (Department dept in listDepartments)
{
Console.WriteLine(" Department = {0}, Location = {1}", dept.Name, dept.Location);
foreach (Employee emp in dept.Employees)
{
Console.WriteLine("\t Name = {0}, Email = {1}, Gender = {2}, salary = {3}",
emp.Name, emp.Email, emp.Gender, emp.Salary);
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
}

Mode base de données et classes

Fonctionnalités d'Entity Framework :

Voyons les fonctionnalités d'Entity Framework :

  • Modélisation : EF construit un EDM basé sur les attributs avec les propriétés get/set de différents types de données. Il utilise le modèle lors du stockage ou de l'interrogation des données d'entité dans la base de données.
  • Requêtes : Entity Framework permet aux requêtes LINQ d'obtenir les données de la base de données. Les fournisseurs de bases de données traduisent les requêtes de LINQ en langage de requête spécifique à la base de données. EF permet l'exécution des requêtes SQL vers la base de données.
  • Suivi des modifications : Entity Framework suit les modifications survenues dans le cas des valeurs de propriété qui devaient être soumises à DB.
  • Stockage : Entity Framework exécute les commandes INSERT, DELETE et UPDATE dans la base de données en fonction de la modification des entités tout en appelant la méthode SaveChanges(). De plus, l'entité Framework EF propose la méthode SaveChangesAsync().
  • Concurrence : Entity Framework utilise la concurrence optimiste par défaut pour sécuriser les modifications via un autre utilisateur puisque les données ont été récupérées de la base de données.
  • Mise en cache : Entity Framework inclut le niveau initial de mise en cache prêt à l'emploi. Ainsi, la requête renvoie les données du cache au lieu d'accéder à DB.
  • Configuration : Entity Framework permet de configurer le modèle EF à l'aide des attributs d'annotation de données ou de l'API pour remplacer les conventions par défaut.
  • Conventions intégrées : Entity Framework suit une convention à travers le modèle de configuration de programmation et contient les règles par défaut qui configurent automatiquement le modèle EF.

Conclusion

Dans cet article, nous avons vu les fonctionnalités d'EF et comment créer Entity Framework. Cependant, utiliser le code ADO.NET est fastidieux par rapport à EF. En outre, il s'agit d'un processus long et sujet aux erreurs, c'est pourquoi Microsoft propose un framework appelé Entity Framework pour automatiser l'ensemble du travail lié à la base de données pour notre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Référence d'assemblage en C#Article suivant:Référence d'assemblage en C#