Heim  >  Artikel  >  Backend-Entwicklung  >  Entity Framework C#

Entity Framework C#

王林
王林Original
2024-09-03 15:20:001000Durchsuche

Der folgende Artikel bietet eine Übersicht über Entity Framework C#. Entity Framework ist ein Object Relational Mapping (ORM), das dazu beiträgt, die App-Produktivität des Benutzers zu steigern, indem es redundante Jobs in der Anwendung eliminiert. EF erstellt die erforderlichen DB-Befehle zum Schreiben oder Lesen der Daten in der DB und führt sie perfekt aus. Schließlich führt EF die Abfrage in der Datenbank aus und wandelt die Ergebnisse in Domänenobjekte um, die mit der Anwendung verwendet werden können.

Was ist Entity Framework in C#?

Entity Framework ist ein Object-Source Relational Mapping (ORM) Framework für .Net-Anwendungen, das es den Entwicklern ermöglicht, an relationalen Daten zu arbeiten, indem sie das domänenspezifische Objekt verwenden, ohne die Spalten und Tabellen der Datenbank zu kennen, in denen die Daten werden gespeichert. Darüber hinaus zeigt es, dass das Entity Framework die Codes für den Datenzugriff minimiert, die die Entwickler normalerweise schreiben.

Entity Framework in C#-Projekten

Nehmen wir an, dass die Tabellen „Abteilung“ und „Mitarbeiter“ so aussehen, als ob die Tabelle die Datensätze mehrerer Abteilungen und die Mitarbeiter verschiedener Abteilungen enthält.

Um dies zu erreichen, müssen wir die Klassen „Department“ und „Employee“ erstellen. Um diese Daten aus der Datenbank abzurufen, müssen wir dann ADO.NET codieren. Wenn die Daten schließlich abgerufen werden, müssen wir Mitarbeiter- und Abteilungsobjekte erstellen, um sie mit wiederhergestellten Daten zu füllen.
Das Ganze oben ist mühsam, aber mit Entity Framework ist es einfach; diese Dinge können automatisch erledigt werden; Wir müssen EF das DB-Schema zur Verfügung stellen. Sehen wir uns die folgenden Schritte zum Erstellen einer Anwendung mit EF an.

Um das Datenbankschema zu erstellen, verwenden Sie das SQL-Skript, um die Datenbank EF_Demo_DB zu erstellen und auch Tabellen für Mitarbeiter und Abteilung zu erstellen

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

So erstellen Sie die Konsolenanwendung

Sobald die Daten bereit sind, erstellen Sie eine neue Konsolenanwendung mit dem Namen EFDemo, wie unten gezeigt:

Entity Framework C#

So fügen Sie das ADO.NET-Entitätsdatenmodell hinzu

Um die Konsolenanwendung zu erstellen, fügen Sie das ADO.NET-Entitätsdatenmodell hinzu, klicken Sie mit der rechten Maustaste auf das Projekt und fügen Sie „Neue Elementdaten“ des ADO.NET-Entitätsdatenmodells hinzu und geben Sie den Namen „EmployeeDataModel“ ein, wie unten gezeigt.

Entity Framework C#

Sobald Sie auf die Schaltfläche „Hinzufügen“ klicken, wählen Sie den EF-Designer aus der Datenbank aus und klicken Sie wie unten gezeigt auf die Schaltfläche „Weiter“, um den EF-Designer aus der Datenbank auszuwählen. Hier verwenden wir den EF Database First Approach.

Entity Framework C#

Sobald Sie auf die Schaltfläche „Weiter“ klicken, werden Sie aufgefordert, den Datenverbindungsassistenten wie gezeigt auszuwählen. Klicken Sie auf die Schaltfläche „Neue Verbindung“.

Entity Framework C#

Klicken Sie einmal auf die Schaltfläche „Neue Verbindung“, geben Sie die erforderlichen Datenbankdetails ein, klicken Sie abschließend auf „Verbindung testen“ und klicken Sie auf „OK“.

Entity Framework C#

Wählen Sie die Datenverbindung aus und speichern Sie die Entitätsverbindungseinstellungen in der App. Konfigurieren Sie dann wie unten gezeigt, geben Sie den Namen EF_Demo_DBEntities ein und klicken Sie auf die Schaltfläche „Weiter“.

Entity Framework C#

Hier werden Sie aufgefordert, das Entity Framework 6.x auszuwählen und wie gezeigt auf die Schaltfläche „Weiter“ zu klicken.

Entity Framework C#

Wählen Sie die gewünschten Tabellen aus, ändern Sie den Modell-Namespace in „EmployeeModel“ und klicken Sie wie gezeigt auf die Schaltfläche „Fertig stellen“.

Entity Framework C#

Durch Klicken auf die Schaltfläche „Fertig stellen“ wird die Datei „EmployeeDataModel.edmx“ generiert.

Entity Framework C#

Dies ist die Struktur der EDMX-Datei, wie unten gezeigt,

Entity Framework C#

Mithilfe des EF haben wir die Anwendung erstellt.

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();
}
}
}
}

Datenbankmodus und Klassen

Entity Framework-Funktionen:

Sehen wir uns die Funktionen von Entity Framework an:

  • Modellierung: EF erstellt ein EDM basierend auf den Attributen mit den Get/Set-Eigenschaften verschiedener Datentypen. Es verwendet das Modell, wenn die Entitätsdaten in der Datenbank gespeichert oder abgefragt werden.
  • Abfragen: Entity Framework ermöglicht LINQ-Abfragen, um die Daten aus der Datenbank abzurufen. Die DB-Anbieter übersetzen die Abfragen von LINQ in eine DB-spezifische Abfragesprache. EF ermöglicht die Ausführung der SQL-Abfragen an die Datenbank.
  • Änderungsverfolgung: Entity Framework verfolgt die Änderungen, die an den Eigenschaftswerten vorgenommen wurden, die an DB übermittelt werden mussten.
  • Speichern: Entity Framework führt die Befehle INSERT, DELETE und UPDATE in der Datenbank aus, basierend auf der Änderung der Entitäten beim Aufrufen der SaveChanges()-Methode. Darüber hinaus bietet Entity Framework EF die Methode SaveChangesAsync().
  • Parallelität: Entity Framework verwendet standardmäßig optimistische Parallelität, um die Änderungen durch einen anderen Benutzer zu sichern, seit Daten aus der Datenbank abgerufen wurden.
  • Caching: Entity Framework beinhaltet die anfängliche Caching-Ebene sofort. Die Abfrage gibt also die Daten aus dem Cache zurück, anstatt auf die DB zuzugreifen.
  • Konfiguration: Entity Framework ermöglicht die Konfiguration des EF-Modells mithilfe der Datenanmerkungsattribute oder der API, um die Konventionen standardmäßig zu überschreiben.
  • Eingebaute Konventionen: Entity Framework folgt einer Konvention durch das Programmierkonfigurationsmuster und enthält die Standardregeln, die das EF-Modell automatisch konfigurieren.

Fazit

In diesem Artikel haben wir die Funktionen von EF und die Erstellung des Entity Frameworks gesehen. Allerdings ist die Verwendung von ADO.NET-Code im Vergleich zu EF mühsam. Da es sich außerdem um einen zeitaufwändigen und fehleranfälligen Prozess handelt, bietet Microsoft ein Framework namens Entity Framework an, um die gesamte DB-bezogene Arbeit für unsere Anwendung zu automatisieren.

Das obige ist der detaillierte Inhalt vonEntity Framework C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Assembly-Referenz in C#Nächster Artikel:Assembly-Referenz in C#