Maison > Article > développement back-end > Entité Framework C#
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.
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.
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 :
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.
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.
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.
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.
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.
Ici, il vous demande de sélectionner Entity Framework 6.x et de sélectionner le bouton Suivant comme indiqué.
Choisissez les tables souhaitées, remplacez l'espace de noms du modèle par « EmployeeModel » et cliquez sur le bouton Terminer comme indiqué.
Cliquer sur le bouton Terminer génère le fichier EmployeeDataModel.edmx.
Voici la structure du fichier EDMX comme indiqué ci-dessous,
À 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(); } } } }
Fonctionnalités d'Entity Framework :
Voyons les fonctionnalités d'Entity Framework :
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!